47.模块
模块
模块的概念
模块是Python程序构架的一个核心概念
- 每一个扩展名 py 结尾 的Python源文件都是一个模块
- 模块名同样也是一个标识符,需要符合标识符的命名规则
- 在模块中定义个全局变量、函数、类都是提供给外界直接使用的工具
- 模块就好比是工具包,想要使用这个工具包中的工具,就需要先导入这个模块
import sys
sys.pyth
可以显示搜索路径
模块的两种导入方式
1)import 导入import 模块名1,模块名2
提示:在导入模块时,每个导入应该独占一行
import 模块名1
import 模块名2
- 导入之后
- 通过 模块名. 使用模块提供的工具——全局变量、函数、类
使用as指定模块的别名
- 如果模块名字太长,可以使用
import 模块名词 as 别名
模块别名应该符合大驼峰命名法
2)from…import 导入
- 如果如果希望从某一个模块中,导入部分工具,就可以使用
from...import
的方式 - import 模块名 是一次性把模块中所有工具全部导入,并且通过模块/别名访问
1 | # 从模块中导入某一工具 |
- 导入之后
- 不需要通过
模块名.
- 可以直接使用模块提供的工具——全局变量、函数、类
- 不需要通过
注意
如果两个模块,存在同名的函数,那么后导入模块的函数会覆盖掉先导入的函数
- 开发时,import 代码应该统一写在代码顶部,更容易及时发现冲突(灰色)
- 一旦发现冲突,可以使用as关键字给其中一个工具起一个别名
原则——每一个文件都应该可以被导入的
- 一个独立的Python文件就是一个模块
- 在导入文件时,文件中所有没有任何缩进的代码都会被执行一遍
实际开发场景
- 在实际开发中,每一个模块都是独立开发的,大多有专人负责
- 开发人员通常会在模块下方增加一些测试代码
- 仅在模块内使用,而被导入到其他文件中不需要执行
__name__
属性
__name__
属性可以做到,测试模块的代码只在测试情况下被运行,而在被导入时不被执行!
__name__
时Python的一个内置属性,记录着一个字符串- 如果是被其他文件导入的
__name__
就是模块名 - 如果是当前执行的程序,
__name__
就是__mian__
在很多Python文件爱你中都会看到以下格式的代码
1 | # 导入模块 |
form imp import reload
realad(xx)
重新导入
转载请注明来源,欢迎指出任何有错误或不够清晰的表达。可以邮件至gxnucgb@qq.com
文章标题:47.模块
文章字数:746
本文作者:陈桂彬
发布时间:2019-08-07, 09:37:54
最后更新:2019-08-20, 21:39:22
原始链接:https://github.com/gxnucgb/gxnucgb.github.io/2019/08/07/47-模块/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。