模块
Python中每一个.py
文件就是一个模块。
Python中有包的概念,请注意,每一个包目录下面都会有一个__init__.py
的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。init.py可以是空文件,也可以有Python代码,因为init.py本身就是一个模块。
自己创建模块时要注意命名,不能和Python自带的模块名称冲突。
代码:
#!/usr/bin/env python3 # 表示这个.py文件可以直接在Unix/Linux/Mac上运行
# -*- coding: utf-8 -*- # 表示.py文件本身使用标准UTF-8编码
' a test module ' # 模块的文档注释
__author__ = 'Michael Liao' # 作者信息变量
import sys
def test():
args = sys.argv
if len(args)==1:
print(args[0])
print('Hello, world!')
elif len(args)==2:
print('Hello, %s!' % args[1])
else:
print('Too many arguments!')
if __name__=='__main__':
test()
模块结构和布局
运行的时候后面跟着个数不同的参数会输出不同的内容.
args[0]里保存的是.py文件的 文件名称.py
作用域
类似__xxx__
这样的变量是特殊变量,可以被直接引用,但是有特殊用途,我们自己定义变量一般不这样定义.
类似_xxx
和__xxx
这样的函数或变量就是非公开的(private),不应该
被直接引用,比如_abc
,__abc
等;注意这里是不应该.
专用下划线标识符
- _xxx 不用’from module import *’导入
- __xxx__系统定义名字
- __xxx 类中的私有变量名
在运行时检测该模块是被导入还是被直接执行
如果模块是被导入,__name__ 的值为模块名字
如果模块是被直接执行, __name__ 的值为 ‘__main__’
安装第三方模块
在Python中,安装第三方模块,是通过包管理工具pip完成的。