一、as 关键字的使用
1、as 关键字的作用:给导入的模块取别名
import 测试1 as Test_1
import 测试2 as Test_2Test_1.say_hello()
Test_2.say_hello()
二、if __name__ == '__main__'
1、作用
- 测试当前模块所编写的代码块,根据业务自主选择需要运行的代码块。
- 只有代码在当前脚本文件才会被执行,import到其他脚本中是不会被执行的。
def say_hello():print("你好")if __name__ == '__main__':print("小明开发的模块")say_hello()
2、原理
如果在当前文件中执行的话
__name__属性会变成__main__
如果在其他文件中执行的话
__name__属性就不会等于__main__
三、包
1、包的概念
- 包是一个包含多个模块的特殊目录
- 目录下有一个特殊的文件__init__.py
- 包的命名方式和变量名一直,小写字母加_
2、包的好处
- 使用 import 包名 可以一次性导入包中的所有模块
3、包的使用方法
- 创建Python Package
- 在init文件中所需要的包
- 使用包时,导入包,就可以使用包中所有模块
4、注意事项
当init文件不加from . 时会报ModuleNotFoundError: No module named 'send_message'
原因:了解下import和from …import区别
import
(1)引用包
import引入的是包中根目录下__init__.py中的全部内容,包括其中的类、类内部的公有属性、类内部的公有方法、方法等内容.(该种方式导入包的本质就是执行__init__.py文件)
(2)引用模块
(该种方式导入模块的本质是将模块解释执行一遍,并赋值给tkinter: module_name = “module_name.py all code”)
===> import module_name —> module_name.py —> module_name.py的位置 —> sys.path(本质是一个列表)
from…import
(1)引用包
(from … import …引入的是在包中根目录下__init__.py和某个文件的内容)但是,我们知道,导入包是没有意义的,最终的目的是导入包下面的模块。(该种方式导入包)
(2)引用模块
(该种方式当如模块的本质是讲module_name.py文件掰开,把想要的部分放入当前文件执行一遍。)