过程型Python

Python函数

我们知道,程序非常常见的情况是重复进行同样的处理过程,Python提供了将多个suites封装为「函数」的途径,通过函数将这个过程参数化。用于创建函数的语法格式:

要注意的是,def是一条与赋值操作符工作方式类似的语句。执行def时,会创建一个函数对象,同时创建一个带有指定名的对象引用,引用该函数对象。由于函数也是对象,因此可以存储在序列类型、集合类型、映射类型等组合数据类型中,并作为参数传递给其他函数。

我们当然可以创建自己的函数,但是很多时候并不需要这么做,因为Python有大量的内置函数,其标准库的大量模块中包含更多的函数,我们可以直接使用之。

函数作为类的内置函数时,与通常的方法类似,不同之处在于函数名的起始处与结尾处总是使用两个下划线,并且是预定义的。

Python模块

模块就是一个包含Python代码的文本文件,对模块的主要需求就是文件名以.py结尾,这是Python扩展名。文件可以包含自定义的函数,有时候还包括变量等。要使用某个模块内的函数功能,必须先导入该模块,例如:

import sys

导入一个模块后,就可以访问其内部包含的任意函数、变量了,例如:

print(sys.argv)

Python包

通过函数可以将多块代码包装在一起,以便其在一个程序中重用;通过模块,可以将多个函数收集在一起,以便其被任意数量的程序使用。Python还提供了创建包的工具,就是将多个模块聚集在一起,之所以要聚集在一起,通常是因为这些模块提供了相关联的功能,或者彼此存在一定的依存关系。

简单地说,包就是一个目录,其中包含一组模块和一个__init__.py文件。比如说,假定我们有假想的一组模块文件,用于读写不同类型的图形文件格式,比如Bmp.py、Jpeg.py、Png.py、Tiff.py、Xpm.py,所有这些文件都提供了load()、save()等函数。

我们可以将模块保存在程序所在目录,但对于使用大量自定义模块的大型程序,图形程序模块将被分散。通过将其放置在自己的子目录,比如Graphics,就可以将这些模块保存在一起,如果同时向Graphics目录中添加一个空的__init__.py文件,该目录就变为一个包:

Graphics/

__init__.py

Bmp.py

Jpeg.py

Png.py

Tiff.py

Xpm.py

只要Graphics目录是我们程序目录的子目录,或存在于Python路径中,我们就可以导入这些模块中的任意模块并使用之。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180304G17LHD00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券