您的位置:首页 > 编程语言 > Python开发

Head_first_python 第二章共享你的代码 函数模块

2017-03-06 17:13 337 查看
由章节标题可知python要实现代码共享,

1.代码共享有什么好处呢?

个人认为可以重用共享的代码缩减工作量,而且有助于改进

2.然而python通过什么实现代码共享呢?

python提供了一组技术来实现代码共享,主要包括两部分:

一是模块,主要是自己合理组织的代码优化共享;

二是发布工具,通过发布你要共享的代码实现最终的共享,开放自己的代码

3.如何实现共享?

首先将函数转换为模块。我们要共享的代码存储在模块里,大部分为函数,函数先保存为.py的文件格式,除此之外最好加上注释,给模块(模块即.py文件)加上注释给函数也加上注释解释一下模块及函数的功能以及输出形式数据类型等信息,注释一般用三个双引号如:“”“  这里面是注释   ”“”表示多行,单行注释用#,添加注释才方便用户使用嘛
创建一个文件夹假设命名为a,将模块(假设第一步的模块名为f.py)也放置此文件夹下,再创建一个名为setup.py的文件此文件内容大致如下:
     from distutils.core import setup    //从python发布工具导入setup函数

setup(

            name            =  '   ',     //按照上面的命名此处写a

           version          ='   ',      //版本信息一般首次写1.0.0,每次更新都会更改此处

           py_modules   =['   '],    //模块的名字即f

           author            ='   ',     //发布人的姓名

           author_email  ='    ', //发布人的邮件

          url                    ='   ',//链接的地址

            description    ='    '//对共享代码的简单描述

)//括号内就是setup函数的参数

构建发布文件。
       在新建的文件夹下打开一个终端窗口(可以按住是shift与右键选择打开命令行窗口,也可以打开windows命令窗口定位文件夹所在位置路径),键入一行命令:python setup.py sdist(安装的pythonl文件夹名字是什么就写什么,我安装的是Python3.5.2安装路径文件夹名字是python所以输入python,有的安装文件夹是python3这里就写python3,书上提示如果是windows系统就写python的安装路径而不是python或python3)//此命令发出后会显示一组状态消息是用来确认你的发布已经创建。

  将发布安装到python的本地副本中,键入命令:(sudo) python setup.py install //前边sudo我不知道是什么鬼,我没输入sudo,同样书上提示这里的python如果用的是windows就用python的安装路径代替,此命令确认你已安装发布文件
安装完后浏览下你新建的文件夹,发现安装前是里面有一个为.py的模块与一个setup.py的文件,安装后会有一个build文件夹(此文件夹下还有一lib文件夹,lib文件夹下是要发布的代码文件)与dist文件夹(该文件夹下存着一个压缩的发布包)还有一个MANIFEST文件(它主要是发布的一些文件列表)与一个.pyc的文件(这是编译版本的代码,python解释器第一次执行模块代码时会先读入代码并转化为一种字节码格式,最后执行的就是这种字节码,如果python中模块代码没有变化它会跳过转换阶段直接执行这些编译版本的代码,一旦有改变就要先转换为字节码格式再执行)与之前的两个文件

发布完之后就可以直接用该模块了,通过在idle中加入此句:import 模块名  也可以使用:from 模块名 import 函数名//此句只是用到了模块中的这一个函数,不建议使用后一种方式

在调用该模块中的函数时最好这样写:模块名.函数名(要处理的参数)

//因为python中的所有代码都与一个命名空间关联,主python程序都与名为“_main_”的命名空间关联,当单独创建一个模块时python也会自动创建一个与模块名同名的一个命名空间这样模块中的代码就与该命名空间关联,所以前面要加上模块名也就是指示当前的命名空间

发布完之后可以将代码上传至pypi,首先注册pypi网站,注册完之后上传代码即先用命令行注册pypi(即输入python setup.py register)然后按照步骤完成注册即输入你的用户名与密码,然后通过命令行上传你的发布即输入python setup.py sdist upload
一旦代码有所调整需要更新代码时还要上传更新的代码这时就需要先修改setup.py文件(主要是修改其中的版本信息比如上面的version为1.0.0更新一次可以把它改为1.0.1),修改完之后跟之前的发布一样(在命令行窗口输入:python setup.py sdist upload)即可更新你的发布

本章节除了共享代码还有提到如下内容:

1.通过用额外的参数来控制行为如:def print_lol(the_list,indient=false,level=0)//indient表示缩进,默认是无缩进所以为false即缺省值为false,同理level缺省值为0即制表符为0,增加这两个参数可以很随意地控制输出的列表项的格式

2.for tap_stop in range(level):   //range提供你需要的控制来迭代指定的次数,可以生成从0直到参数的数字列表但不包含该参数

        print(''\t",end=' ')//  /t表示制表符,end=‘’表示以什么结尾也即自动换行

3.代码执行中出问题可以通过跟踪代码分析并找出问题

其余函数在图片中显示
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: