python(5)
5.1 模块:每个.py文件就是一个模块,多个模块可以放在一个包中,而多个包可以放在更大的包中。表示包A中的asd.py可以这样写:A.asd
sys模块:它是python的内建模块,只要导入就可以使用。import sys。
需要注意的是,sys模块里面有args,它至少存储着一个list元素-->你的.py文件。例子:
#age.py
#coding:utf-8
‘age.py‘
__author__=‘loutao‘
import sys
def test():
args=sys.argv
if len(args)==1:
print ‘hello world‘
elif len(args)==2:
print ‘hello %s‘ % args[1]
elif len(args)==3:
print‘hello %s‘ % args[2]
else:
print ‘too many!‘
if __name__ == ‘__main__‘: #这么做只有在命令行直接调用时才成立(当时解释器会把__name__设置为__main__),而在import时无法执行test()
test()
5.2 别名:导入模块时,还可以使用别名,这样,可以在运行时根据当前环境选择最合适的模块。比如Python标准库一般会提供StringIO和cStringIO两个库,
这两个库的接口和功能是一样的,但是cStringIO是C写的,速度更快,所以,你会经常看到这样的写法:
try:
import cStringIO as StringIO
except ImportError: # 导入失败会捕获到ImportError
import StringIO
5.3 作用域:private: 类似于前面加_和__的变量和函数是私有的,不能直接被其他模块使用,注意是直接。
public: 不加任何修饰的变量和函数是公有的。
特殊变量__acd__比如说上面的__main__ __author__