计算机网络/计算机科学与应用/系统/运维/开发

Python之模块和包

模块化编程

导入模块的语法

import语法主要有2种:


import  模块名1  [as 别名1], 模块名2 [as  别名2]....导入整个模块 from 模块名  import 成员名1 [as 别名1],成员名2 [ as 别名2] ....导入模块中指定成员


主要区别有:

第一种import语句导入整个模块内的所有成员(包括变量、函数、类等)

第二种import语句只导入模块内的指定成员(除非使用form 模块名 imprt *,但通常不推荐使用这种语法)


使用第一种import语句导入模块中的成员时,必须添加模块名或模块别名前缀;

当使用第二种import语句导入模块中的成员时,无须使用任何前缀,直接使用成员名或成员别名即可。


#  导入sys整个模块 import sys #  使用sys模块名作为前缀来访问模块中的成员 print(sys.argv[0])

上面使用import sys 简单的导入了sys模块,在程序使用过程中,必须添加模块名作为前缀 sys.argv[0]


导入整个模块时,可以为模块指定别名

#  导入sys整个模块 指定别名 import sys as s #  使用s模块别名作为前缀来访问模块的成员 print(s.argv[0])


使用导入整个模块的语法也可以一次导入多个模块,多个模块之间用逗号隔开。

#  导入sys os两个模块 并为sys指定别名s  为os 指定别名o import sys as s,os as o #  使用模块别名作为前缀来访问模块中的成员 print(s.argv[0]) print(o.sep)


下面学习  from...import 导入模块内指定成员的方法

#  导入sys模块内的argv成员 from sys import argv #  使用导入成员的语法 直接使用成员名访问 print(argv[0])


使用from...import 导入模块成员时也可以为成员指定别名

#  导入sys模块内的argv成员,并为其指定别名 from sys import argv as v #  使用导入成员的语法,直接使用成员的别名访问 print(v[0])


使用 from...import导入模块成员时也可以同时导入多个成员

#  导入sys模块内的argv,winver成员 from sys import argv, winver #  使用导入成员的语法,直接使用成员名访问 print(argv[0]) print(winver)


使用from...import导入模块成员时也可以指定别名,同样使用as关键字为成员指定别名

#  导入sys模块中的argv,winver成员 并为其指定别名v  wv from sys import argv as v, winver as wv #  使用导入成员 并指定别名 语法 直接使用成员的别名访问 print(v[0]) print(wv)


使用from...import 语法时一次导入指定模块的所有成员

#  导入sys模块内的所有成员 from sys import * #  使用导入成员的语法  直接使用成员别名访问 print(argv[0]) print(winver)


注意:一般不推荐使用 " from 模块 import  * "这种语法导入指定模块内的所有成员 潜在风险较高

建议使用

import module1 import module2  as m2 #  分别调用2个模块中的函数 module1.foo() m2.foo()


或者使用from...import 语句也是可以的

from module1 import  foo  as  foo1 from module2 import  foo as  foo2 #  分别使用函数 foo1() foo2()



Python

好的习惯,排名第一的是:自律;排名第二的是:终身学习;排名第三的是:保持运动。拥有这三种习惯,美好人生垂手可得。

评论

^