【p2】·python中嵌套列表list元素输出·模块封装·发布上传(pigeon详细说)

如果你也正在学习《Head First Python》,可以相互学习。接下来将记录如何完成书本的这一章以及遇到的问题如何解决。

一、简单访问列表数据

【1】通过位置访问具体数据,0表示第一位【如下图】

【2】计算列表长度【使用len】

【3】列表末尾增加--删除元素,append增肌,pop删除,注意不同用法

append括号里放想添加元素,列表.pop()就能删除

【4】extend添加多个元素【如想在后面添加5,6,7】,留意跟append区别

append保留着数据项中括号,缺陷

------------------------------------------------------------------------------------------

    extend成功添加好元素

【5】删除特定元素,在特定位置前面插入元素

二、嵌套列表

nums=[1,2,3,[44,55],6],isinstance()可以检查某个特定标识符是否符合特定类型数据

通过for循环可以将列表(包括嵌套列表其中的元素)输出,当嵌套层数比较少还好,当层数过多时,需要的for循环会更多,维护的精力也比较多

【错误类型-1】expected an indented block-------------缩进问题,检查是否多出空格

因此,需要使用   函数【def】  代替循环重复部分的代码

三、模块代码的三种用法

(1)模块直接使用:新建.py模块文件(如写入函数)

1.桌面右键新建文本文档,将后缀txt修改为py,点击确定文件变成如下图样式

2.右键点击该文件,选择edit with idle(直接双击没用的)

3.在文件中写入函数模块,这里我还是用嵌套列表元素输入的函数模块【print_list】(写好记得保存)

4.编写好模块保存后,选择功能栏的Run或者直接按F5运行,会跳出新窗口python shell重启窗口

5.接下来在这个弹出来的窗口进行工作,这里面已经有刚才的函数模块了,可以使用【print_list】模块方法

直接使用该方法,得出答案

【缺陷】瞬时性,只能先打开和运行有函数模块的文件之后才可以使用,为了让自己使用起来更加方便,第2种就是封装成模块,之后只要使用import就能使用

(2)构建发布:封装模块,import调用

1.新建一个文件夹,将刚才写好的【text1.py】文件复制到文件夹中,文件夹也命名为text1

2.在text1文件夹中再建一个setup.py的文件(怎么建看上面步骤),编辑包含发布的元数据

【注意,每写完一句,都要写逗号,最后一句就不用了】

到这里,我们新建的text1文件夹中,已经有text1.py文件跟setup.py文件

3构建发布文件,在text1文件夹打开终端窗口【具体方法是在文件夹空白的地方,一直按住shift键,然后右键空白处,在右边选项就会多出一项(在此处打开命令窗口,点击进去)】

我使用的是windows7,这里键入的命令是【python.exe的位置 setup.py sdist】,简单点是找到python.exe文件然后直接拖动到这个cmd界面里面就会自动生成位置(可参考上一博文:p1),我这里python.exe位置是D:\python\python

拖动进来最后是这样是:

键入完整命令【注意中间是有空格的】,结果如下:

4将发布安装到本地副本,之后就能直接使用

书本上教的命令是:sudo python3 setup.py install 是适用于linus系统的,我使用的是windows,

所以使用的命令是:python.exe位置 setup.py install,留意python位置你要看看自己的在哪,我python位置上面已经说了,所以我键入的命令是【D:\python\python\python.exe setup.py install】

ok到这里模块已经构建好,开始使用测试。

1.1打开IDLE编辑器,import该模块,使用【模块名+函数名】调用该方法

1.2不在IDLE编辑器里写,新建一份.py文件(别说又不会,那就看上面),在里面写,如下图,注意调用方法的时候一定要【模块名+函数名】,不然报错Nameerror啦啦   -------------------       

写好后保存,run或F5运行就会跳出窗口直接运行得出答案

(3)模块共享:上传共享。  

        作为一个标准小白,这三种我后来才搞懂了。第一种是通过文件才能到运行界面,不是很方便;第二种封装成模块,在以后文件还是编辑窗口中都能直接import调用,永久性;第一种第二种都是对于自己使用而言,第三种是共享模块,可以分享自己的也可以借鉴别人的模块。

3.1上传发布在PyPI网站:http://pypi.python.org/,所以需要先进行登录网站注册,记住自己设置的账号密码

3.2 需要通过命令行进行再次注册,跟上面不一样。跟之前一样,通过文件夹所在打开终端,命令为【python.exe位置 setup.py register】

如果你是第一次重注册,界面可能跟我不一样,刚才说过了重注册输入账号密码只需要一次以后就不会出现了,你的界面应该是需要填写username跟password的,这里的账号密码就是你之前在网页上注册好的,password输入的时候是不会显示的,所以不用怀疑是不是坏了,就直接输入你的密码确定就行。过程中出现询问(Y/N)?的直接键入Y就行。

直到界面出现,证明你成功了。下次再使用该命令的时候就不会让你填账号密码了,就像我截图界面这么简单

3.3开始发布网站,使用命令【python.exe位置 setup.py sdist upload】

【注意1:】模块名称不能跟书本一样,不能是已有的,不然就会显示失败

【注意2:】使用上传时必须在联网状态下,否则报302错误:Moved Temporarily]

直到界面出现,证明你成功了。

小白请借鉴,高手请指教

时间: 2024-10-25 13:33:47

【p2】·python中嵌套列表list元素输出·模块封装·发布上传(pigeon详细说)的相关文章

你知道如何将python中嵌套的列表扁平化吗?

楔子 将python中嵌套的列表扁平化,指的就是: lst = [1, [[[[3, 3], 5]]], [[[[[[[[[[[[[6]]]]], 8]]], "aaa"]]]], 250]] # 类似于上面的列表,我们要得到下面的结果 [1, 3, 3, 5, 6, 8, "aaa", 250] 那么我们要如何做呢? yield和yield from 关于如何把一个嵌套的列表扁平化,我们需要使用yield和yield from.这两位老铁的底层实现原理我不想深究,

关于Python中的列表理解及用法

在Python中,列表理解通常用于编写单行语句,这些语句通过可迭代对象进行迭代以创建新的列表或字典.本文首先介绍for循环如何在Python中工作,然后解释如何在Python中使用列表理解. Python中的for循环 Python中的for循环语句按顺序遍历任何对象.列表.字符串等的成员.与其他编程语言相比,它的语法更加简洁,不需要手工定义迭代步骤,也不需要开始迭代.尽管有几种方法可以使它的行为与其他编程语言相同(本文将不详细讨论).还可以使用continue.break.pass等语句控制f

python 展开嵌套列表

python 展开嵌套列表 目录 python 展开嵌套列表 引言 方法1,创建递归函数 方法2,使用列表推导式 其他的方法 引言 Python中的列表还可以将不同数据类型的项放在一个列表中.所以,一个嵌套的列表就是是一个包含多个列表的列表,例如[1,2,[3],[4,[5,6]]. 通常,我们需要将这些嵌套列表转换为平面列表(flatted a nested list),以便对数据执行常规列表操作. 方法1,创建递归函数 首先介绍,python中对一个嵌套的list,和一个空列表[],进行su

python中的列表3

一.列表的一些常用操作符 1.比较操作符 当列表中有多个元素时,列表间只比较第0个元素. >>> list1 = [1,2] >>> list2 = [2,1] >>> list1 > list2 False 2.逻辑操作符 >>> list1 = [1,2] >>> list2 = [2,1] >>> list3 = [1,2] >>> (list1 < list2)

Python中的列表解析和生成器表达式

Python中的列表解析和生成器表达式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.列表解析案例 1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 #@author :yinzhengjie 4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/

python中的列表及numpy数组排序

一.列表排序  # python中对列表排序有sort.sorted两种方法,其中sort是列表内置方法,其帮助文档如下:In [1]: help(sorted) Help on built-in function sorted in module builtins: sorted(iterable, /, *, key=None, reverse=False) Return a new list containing all items from the iterable in ascendi

bootstrap-面板中嵌套列表组

1.运行效果如图所示 2.实现代码如下 <!DOCTYPE html> <html> <head>     <meta charset="utf-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <title>面板--面板中嵌套列表组</title>     <!-- 最新版本

Python中的列表,元组,字符串之间的相互转化

Python中的列表元组和字符串之间的相互转化需要利用,tuple(),list(),str(). 示例如下: >>> the_string = "hello I'am xiaoli!" >>> #字符串转化为元组 >>> the_tuple = tuple(the_string) >>> the_tuple ('h', 'e', 'l', 'l', 'o', ' ', 'I', "'", 'a

Python 中使用列表解析时候的区别

使用[] + for语句是解析列表 而使用() + for语句是产生生成器 实例代码如下: alist = [1, 2, 3, 4, 5] another_list = [i for i in alist] print another_list a_generator = (i for i in alist) print a_generator for i in a_generator: print i Python 中使用列表解析时候的区别