015模块——起别名

1、import起别名:通过as关键字可以给模块起别名: 模块名一旦起别名,原模块名就不能再使用

2、起别名的作用:
①可以简化模块名字

  1 import mmmmmmmmmmm3 as my_m3
  2 print(my_m3.num)

②可以统一模块功能

cmd = input('数据库选择 1:mysql | 2:oracle:')
if cmd == '1':
    import mysql as db
    # mysql.excuse()
else:
    import oracle as db
    # oracle.excuse()
db.excuse()

3 from 导入

①语法:可以指明道姓的导入模板中所有想导入的名字

from 模块名 import 名字1, 名字2, ..., 名字n

②from  模块名 import*
#导入的是模块中__all__这个列表
1、系统默认该列表不会收录_开头的名字
2、可以自定义__all__列表来规定外界通过*可以导入的名字

# 不建议直接导入 *,因为可读性差,且极容易出现变量重名
# 模块中有 名字a
from  模块名 import *
# 可以使用模块中的a
a = 20
# 模块中的a就被覆盖了,且在代码上还不能直接看出

# 其别名
from 模板名 import 名字1 as 别名1, ..., 名字n as 别名n

4、自执行与模块区别

__name__:

1.在py文件作为模块被使用时,__name__为模块名
2.在py文件为自执行时,__name__为字符串__main__

print("共有逻辑")
if __name__ == '__main__':
    # 所有自执行的逻辑
    print("m6: 我是自执行的")
    a = 10  # 产生的是全局的名字
else:
    # 所有模块的逻辑
    print("m6: 我被导入执行的")
    print(a)  # 会报错:走else就不可能走if,所以a压根没产生

总结

1.模块的概念:一系列功能的集合体
2.为什么要使用模块,使用模块后的优点:

①文件角度考虑代码

②拿来主义,提高开发效率

定义模块:新建一个py文件:文件名就是模块名,尽量采用全英文,可以结合数字与下划线

使用模块:可以不用起别名,但一旦起别名,原名字就不能再使用了
    -- import 模块名 as 别名
    -- from 模块名 import 名字 as 别名

自执行文件与模块区分:__name__

猜你喜欢

转载自www.cnblogs.com/king-home/p/10780073.html