1.1 模块的导入
[form 模块名] import [模块 | 类 | 函数 | 别名 | *] [as 别名]
注意:当导入多个模块的时候,且模块内有同名功能. 当调用这个同名功能的时候,调用到的是后面导入的模块的功能
# 使用import导入time模块使用sleep功能(函数)
# import time # 导入Python内置的time模块(time.py这个代码文件)
# print("你好")
# time.sleep(5) # 通过. 就可以使用模块内部的全部功能(类、函数、变量)
# print("我好")
# 使用from导入time的sleep功能(函数)
# from time import sleep
# print("你好")
# sleep(5)
# print("我好")
# 使用 * 导入time模块的全部功能
# from time import * # *表示全部的意思
# print("你好")
# sleep(5)
# print("我好")
# 使用as给特定功能加上别名
# import time as t
# print("你好")
# t.sleep(5)
# print("我好")
from time import sleep as sl
print("你好")
sl(5)
print("我好")
1.2 __main__变量的功能
if __main__ == “__main__”表示,只有当程序是直接执行的才会进入if内部,如果是被导入的,则if无法进入。
如果一个模块文件中有`__all__`变量,当使用`from xxx import *`导入时,只能导入这个列表中的元素。
1.3 导包
方式一:import 包名.模块名
包名.模块名.目标
方式二:from 包名 import *
模块名.目标
注意:必须在`__init__.py`文件中添加`__all__ = []`,控制允许导入的模块列表
__init__.py文件的作用:
创建包会默认自动创建的文件,通过这个文件来表示一个文件夹是Python的包,而非普通的文件夹。
# 创建一个包
# 导入自定义的包中的模块,并使用
# import my_package.my_module1
# import my_package.my_module2
#
# my_package.my_module1.info_print1()
# my_package.my_module2.info_print2()
# from my_package import my_module1
# from my_package import my_module2
# my_module1.info_print1()
# my_module2.info_print2()
# from my_package.my_module1 import info_print1
# from my_package.my_module2 import info_print2
# info_print1()
# info_print2()
# 通过__all__变量,控制import *
from my_package import *
my_module1.info_print1()
my_module2.info_print2()
(日常美图时间)