学习Python是跟着《First Head Python》来的,所以也就跟着书的顺序写下去吧。

这章的内容讲的是如何构建一个发布和如何把模块安装到本地副本,书上是以Linux为例子的。构建和安装的命令有所不同,在这就稍微解释一下。

在cmd中×××nester(书中的程序例子的名字)所在的位置,构建的命令为:

setup.py.sdist

构建成功后,安装到本地副本的命令为:

setup.py install

如果源码写错了,重新安装就可以了。

模块相当于java中包的概念。导入模块是通过 from...import...和import...实现的,两者不同的是如果直接使用的话,from...import...可以直接使用模块里的函数,而import则必须用类似nester.nester()的格式。实例如下:

.
>>> caster = ['Jason','pink','flower','jane']
>>> from nester import nester
>>> nester(caster)
Jason
pink
flower
jane
import nester
>>> netser(caster)
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    netser(caster)
NameError: name 'netser' is not defined
>>> nester.nester(caster)
Jason
pink
flower
jane

构建好的模块可以上传到PyPi上供其他人使用。这部分暂时略过。

而后提到了函数的缺省值设置,例子就是嵌套的缩进问题:

nester.py源码为

def nester(movies):
    for each_movie in movies:
        if isinstance (each_movie,list):
            for each_item in each_movie:
                if isinstance (each_item,list):
                    for each_bdy in each_item:
                        print each_bdy
                else:
                    print each_item
        else:
            print each_movie

是针对三级嵌套的。