模块
==每一个python
文件都是一个模块==
-
使用
import
导入模块import 模块名1 import 模块名2
* 如果模块名字太长,可以使用`as`指定模块的名称,以方便在代码中的使用
import 模块名1 as 模块别名
模块别名 应该符合 大驼峰命名法
- from … import 导入
- 如果希望从某一个模块中,导入部分工具,就可以使用
from ... import
的方式 import 模块名
是一次性把模块中所有工具全部导入,并且通过模块名/别名访问
- 如果希望从某一个模块中,导入部分工具,就可以使用
# 从 模块 导入 某一个工具
from 模块名1 import 工具名
- 导入之后
- 不需要通过
模块名.
- 可以直接使用模块提供的工具 – 全局变量、函数、类
- 不需要通过
注意
如果两个模块,存在同名函数, 那么后导入的模块的函数,会覆盖先导入的函数
可以使用别名的方式解决
# 从 模块 导入 某一个工具 from 模块名1 import 工具名 as 别名
____file___属性
- 在开发时,给文件起名不要和系统的模块文件重名
- 模块的搜索顺序是先当前目录再系统目录
python
中每一个模块都有一个内置属性__file__
可以查看模块的完整路径
import random
print(random.__file__)
rand = random.randint(0,10)
print(rand)
输出为
___name___属性
__name__属性
可以做到, 测试模块的代码只在测试情况下被运行, 而在被导入时不会被执行!- 如果是被其它文件导入,
__name__
就是模块名 - 如果是当前执行的程序,
__name__
是__main__
- 如果是被其它文件导入,
- 在很多
python
文件中都会看到以下格式的代码
# 导入模块
# 定义全局变量
# 定义类
# 定义函数
# 在代码的最下方
def main():
# ...
pass
# 根据__name__判断是否执行下方代码
if __name__ == "__main__":
main()