Python学习笔记--模块

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()



猜你喜欢

转载自blog.csdn.net/qq_38930129/article/details/80686672