1、定义:在python中一个扩展名为.py的文件就是一个模块
2、结构:一个python程序有多个模块(.py文件),一个模块可以包含多个函数、类和语句。
3、使用模块的好处
新建一个.py文件,名称尽量不要于python自带的标准模块名称相同。
在所创建的程序目录中选择Sources Root即可
使用上的区别:若是导入整个模块,则必须用模块名.函数/变量/类来调用,若是只导入某个函数/变量/类,则可以直接使用。
import math print(math.pi) #3.141592653589793 print(math.pow(2,3)) #8.0 ______________________________________________ from math import pi print(pi) #3.141592653589793 print(math.pow(2,3)) #报错
在每个模块的定义中都包括一个记录模块名称的变量__name__,程序可以检查该变量,以确定他们在哪个模块中执行。如果一个模块不是被导入到其它程序中执行,那么它可能在解释器的顶级模块中执行。顶级模块的__name__变量的值为__main__
说白了就是在每个模块中加上if name == ‘main’:。把只在运行这个模块才需要执行的代码写到里面去,防止别的模块导入它时执行了该模块的这些代码。
if __name__ == 'main': #写在这里的代码只有在运行这个模块时才会执行,别的模块导入此模块时不会触发这里的代码。 pass
下面这个程序就是模块demo1不把输出函数限制在本模块执行,可以看到,demo2导入模块demo1时,执行了demo1中的输出函数,这有时是我们不愿看到的。
#demo1 def add(a,b): return a+b print(add(10,20)) #demo2 import demo1 print(demo1.add(100,200)) #30 300
只需加上一条语句,就可以限制demo1的输出在本模块中执行
#demo1 def add(a,b): return a+b if __name__ == main: print(add(10,20)) #demo2 import demo1 print(demo1.add(100,200)) #300
1、定义:包是一个分层次的目录结构,它将一组功能相近的模块组织在一个目录下
2、作用:
3、包package与目录directory的区别
4、导入其他包的模块:
模块名 | 描述 |
---|---|
sys | 与Python解释器及其环境操作相关的标准库 |
time | 提供与时间相关的各种函数的标准库 |
os | 提供了访问操作系统服务功能的标准库 |
calendar | 提供与日期相关的各种函数的标准库 |
urllib | 用于读取来自网上(服务器)的数据标准库 |
json | 用于使用JSON序列化和反序列化对象 |
re | 用于在字符串中执行正则表达式匹配和替换 |
math | 提供标准算术运算函数的标准库 |
decimal | 用于进行精确控制运算精度、有效数位和四舍五入操作的十进制运算 |
logging | 提供了灵活的记录事件、错误、警告和调试信息等日志信息的功能 |