import module # 引入整个模块
import module import other # 引入模块中的某个类或者函数、变量
import module import * # 引入模块中的整个成员
第一个,引入的模块(举个栗子,os)会自动生成一个“对象”,以模块名命名,然后就通过这个对象(os)获取该模块里面的类、函数或者变量等
第二个,引入的模块中的other成员,调用的时候可以省略模块名。
import 可以再文件最开始的位置,也可以再代码中间,哪里需要哪里引用即可。
更改第三方包并使用别名
import util.util_time as time
import sys
def test():
# sys模块有一个argv变量,用list存储了命令行的所有参数。argv至少有一个元素,因为第一个参数永远是该.py文件的名称。
args = sys.argv
if len(args) == 1:
print('Hello, world!')
elif len(args) == 2:
print('Hello, %s!' % args[1])
else:
print('Too many arguments!')
if __name__ == '__main__':
test()
# 正常的函数和变量名是公开的(public),可以被直接引用,比如:abc,x123,PI等;
# 类似__xxx__这样的变量是特殊变量,可以被直接引用,但是有特殊用途,比如上面的__author__,__name__就是特殊变量,
# hello模块定义的文档注释也可以用特殊变量__doc__访问,我们自己的变量一般不要用这种变量名;
# 类似_xxx和__xxx这样的函数或变量就是非公开的(private),不应该被直接引用,比如_abc,__abc等;
常见问题
TypeError: ‘module’ object is not callable 我们在一个目录 Test 里面创建了一个 Order.py 文件,其实它就是一个module,这个 Order.py 文件里面定义了一个 class A,注意我们在导入的时候需要使用 from Test.Order import Order,而不是 from Test import ,要导入一个类而不是一个 module,否则在创建对象的时候就会出现上面的提示。