所谓模块,就是另外一个python文件,那个python文件里提前写好了各种函数等,此时只要使用import来插入到自己的程序中就能使用模块中的函数了。
所谓内置模块,就是python语言自带的标准模块,模块的路径也都设置好了,此时只要import插入即可。以python的处理数学运算的标准模块math为例:
>>> import math >>> math.sqrt( 9 ) 3.0 >>> math.factorial( 5 ) 120 >>> math.pi 3.141592653589793
如果只是想从模块中引入指定的函数,可如下所示:
>>> from math import sqrt >>> sqrt( 9 ) 3.0
如果想一次性把模块中所有内容都直接导入,可如下操作。但对于python的内置标准模块,不建议这么操作。对于自定义的模块,且在相对能把握住导入内容和主程序没有冲突的地方,可进行全部导入。
>>> from math import * >>> sqrt( 9 ) 3.0
自定义模块,就是导入自己写的另一个python文件。举例如下,自定义一个叫test的模块,则创建一个文件名为test.py的文件,如下所示:
def output( s ): print s
再在同路径下别的python程序中或同路径下的python交互模式中引入该模块,则如下所示:
>>> import test >>> test.output( "zhuanfou" ) zhuanfou
当然也可以直接完全导入:
>>> from test import * >>> output( "zhuanfou" ) zhuanfou
还可以将导入的模块存储到指定对象中去:
>>> import test as t >>> t.output( "zhuanfou" ) zhuanfou
若模块文件不在当前文件夹下,而在当前文件夹下的一个子文件夹下;那也简单,在子文件夹下创建一个空的python文件,但需要命名其为“_init_.py”,如此,python即可读取该文件夹下的模块文件。更多详情查看这里。
介绍一个内置函数dir
,通过此函数可查看指定对象的属性和方法。以上述导入test模块为例,举例如下:
>>> import test >>> dir( test ) ['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'output']
延伸一下,以字符串对象为例,如下所示:
>>> dir( "zhuanfou" ) >>> ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split', '_formatter_parser', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
pip是python的包管理软件,通过pip可以安装网上第三方发布的python模块。所谓的第三方有可能是某个代码组织,也可能是某家公司,也可能是某个自然人。Python语言的社区生态非常好,在各个领域都有很多不错的库。
以安装requests库为例:
$ sudo pip install requests
延伸阅读: