1--模块概念
。--模块是Python程序架构的一个核心概念
。--每一个以拓展名py结尾的Python源代码文件都是一个模块
。--模块名同样也是一个标识符,需要符合标识符的命名规则
。--在模块中定义的全局变量、函数、类都是提供给外界直接使用的工具
。--模块就好比是工具包,要想使用这个工具包中的工具,就需要先导入这个模块
2--模块的两种导入方式
。--import导入
import 模块名1,模块名2
提示:在导入模块时,每个导入应该独占一行
例:
import 模块名1
import 模块名2
--导入之后,通过 模块名. 使用模块提供的工具--全局变量、函数、类
。--使用as指定模块的别名
--如果模块的名字太长,可以使用as指定模块的名称,一遍在代码中的使用
--格式:
import 模块名 as 模块别名
**注意:模块别名应该符合大驼峰命名法
。--form...import
--如果希望从某一个模块中,导入部分工具,就可以使用 from...import 的方式
--import模块名是一次性把模块中所有的工具全部导入,并且通过模块名/别名 访问
#从模块导入某一个工具
from 模块1 fromimport 工具名
--导入之后
-不需要通过模块名. ,可以直接使用模块提供的工具--全局变量、函数、类
**注意: --如果两个模块,存在同名的函数,那么导入模块的函数,会覆盖掉先导入的函数
-解决方法:
-开发时import代码应该统一写在代码的顶部,更容易及时发现冲突
-一旦发现冲突,可以使用as关键字,给其中一个工具起一个别名
补充:
。--from...import*
--格式:
#从模块导入所有工具
from 模块名1 import*
--注意:这种方式不推荐使用,因为函数重名并没有任何提示,出现问题不好排查
3--模块的搜索顺序
。--Python的解释器在导入模块时:
--搜索当前目录指定模块名的文件,如果有就直接导入
--如果没有,在搜索系统目录
。--在开发时,给文件起名,不要和系统的模块文件重名
。--Python中每一个模块都有一个内置属性 __file__ 可以查看模块的完整路径
例:
import random
#生成一个0~10的数字
rand=random.randint(0,10)
print(rand)
说明:如果当前目录下,存在一个random.py的文件,程序就无法正常运行了
此时,Python的解释器会加载当前目录下的random.py而不会加载系统的random模块
4--开发原则
。--每一个文件都应该是可以被导入的
。--一个独立的Python文件就是一个模块
。--在导入文件时,文件中所有没有任何缩进的代码,都会被执行一遍
。--实际开发场景中,每一个模块都是独立开发的,大多都有专人负责
。--开发人员通常会在模块下方增加一些测试代码
-仅在模块内使用,而被导入到其他文件中,不需要执行
。--__name__属性
--__name__属性可以做到,测试模块的代码只在测试情况下被运行,而在被导入时,不会被执行
--__name__Python的一个内置属性,记录着一个字符串
--如果是被其他文件导入的,__name__就是模块名
--如果是当前执行的程序 __name__ 是 __main__
--格式:
可以在程序中设置 main() 函数
#在代码的最下方
def main():
...
pass
if __name__ == "__main__":
main()
Python学习笔记--模块
于 2018-06-13 23:24:34 首次发布