模块
模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。
模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用python标准库的方法。
模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用python标准库的方法。
一、基础
import sys
引入
python
标准库中的
sys.py
模块;这是引入某一模块的方法。比如
import sys
sys.path
sys.path
from..import语句
--如果你想要直接输入argv变量到你的程序中(避免在每次使用它时打sys.),那么你可以使用from sys import argv语句。
--如果你想要输入所有sys模块使用的名字,那么你可以使用 from sys import * 语句。这对于所有模块都适用。
--一般说来,应该避免使用from..import而使用import语句,因为这样可以使你的程序更加易读,也可以避免名称的冲突。
--如果你想要直接输入argv变量到你的程序中(避免在每次使用它时打sys.),那么你可以使用from sys import argv语句。
--如果你想要输入所有sys模块使用的名字,那么你可以使用 from sys import * 语句。这对于所有模块都适用。
--一般说来,应该避免使用from..import而使用import语句,因为这样可以使你的程序更加易读,也可以避免名称的冲突。
二、模块的__name__
当一个模块被第一次输入的时候,这个模块的主块将被运行。假如只想在程序本身被使用的时候运行主块,而在它被别的模块输入的时候不运行主块,我们该怎么做呢?这可以通过模块的__name__属性完成。
eg:
if __name__ == '__main__':
print 'This program is being run by itself'
else:
print 'I am being imported from another module’
! Python using_name.py /run using_name.py (或者直接运行)
----This program is being run by itself(结果)
#在python环境中
>>> import using_name
----I am being imported from another module(结果)
-每个Python模块都有它的__name__,如果它是'__main__',这说明这个模块被用户单独运行,我们可以进行相应的恰当操作。
-每个Python程序也是一个模块。确保它具有.py扩展名了。
-注意使用了相同的点号来使用模块的成员
三、dir()函数
内置的函数 dir() 可以找到模块内定义的所有名称。以一个字符串列表的形式返回:
如果没有给定参数,那么 dir() 函数会罗列出当前定义的所有名称。
四、包(package)
package包是一组module的集合,一个文件夹下面只要有个
__init__.py 文件,这个文件夹就可以看作是一个包,用以下方法创建一个包
###先在当前目录创建一个目录testpackage
###在testpackage下创建一个空文件__init__.py
###在testpackage中创建一个testmodule.py,里面编写任意代码。
###启动Python,运行:
###先在当前目录创建一个目录testpackage
###在testpackage下创建一个空文件__init__.py
###在testpackage中创建一个testmodule.py,里面编写任意代码。
###启动Python,运行:
###包是一种组织模块的方法,提供了一个命名空间,
防止发生名字冲突。
###包中还可以有包,所以这种方式可以很好的组织一个树状结构,用来管理多个模块。
###包中还可以有包,所以这种方式可以很好的组织一个树状结构,用来管理多个模块。
参考资料
中国科学院大学张老师讲授的《Python科学计算与数据处理》ppt