模块:Modules
函数与模块的关系--------一个模块中可以包含N多个函数
在Python中一个扩展名为.py的文件就是一个模块
使用模块的好处:
1、方便其他程序和脚本的导入并使用
2、避免函数名和变量名冲突
3、提高代码的可维护性
4、提高代码的可重用性
自定义模块
创建模块:新建一个.py文件,名称尽量不要与Python自带的标准模块名称相同
导入模块
import 模块名称 [as 别名]
from 模块名称 import 函数/变量/类
import math
from math import pi
print(pi)#3.141592653589793
print(pow(2,3))#8
print(math.pow(2,3))#8.0
如何导入自定义模块
def add(a,b):
return a+b
def div(a,b):
return a/b
import demo4
print(demo4.add(10,20))
print(demo4.div(5,2))
以主程序形式运行
在每个模块的定义中都包括一个记录模块名称的变量__name__,程序可以检查该变量,以确定他们在哪个模块中执行。如果一个模块不是被导入到其他程序中执行,那么它可能在解释器的顶级模块中执行。顶级模块的__name__变量的值为__main__
if __name__='__main__':
pass
def add(a,b):
return a+b
if __name__ == '__main__': #只有当运行demo4时,才会执行运算
print(add(1,2))#3
Python中的包
包是一个分层次的目录结构,它将一组功能相近的模块组织在一个目录下
作用:1、代码规范 2、避免模块名称冲突
包与目录的区别:
1、包含__init__.py文件的目录称为包
2、目录里通常不包含__init__.py文件
包的导入:import 包名.模块名
导入带有包的模块时注意事项:
1、使用import 方式进行导入时,只能跟包名或模块名
2、使用from……import可以导入包,模块,函数,变量
模块名 | 描述 |
---|---|
sys | 与Python解释器及其环境操作相关的标准库 |
time | 提供与时间相关的各种函数的标准库 |
os | 提供了访问操作系统服务功能的标准库 |
calendar | 提供与日期相关的各种函数的标准库 |
urllib | 用于读取来自网上(服务器)的数据标准库 |
json | 用于使用JSON序列化和反序列化对象 |
re | 用于在字符串中执行正则表达式匹配和替换 |
math | 提供标准算术运算函数的标准库 |
decimal | 用于进行精确控制运算精度、有效数位和四舍五入操作的十进制运算 |
logging | 提供了灵活的记录事件、错误、警告和调试信息等日志信息的内容 |