python基础 模块
模块
函数与模块的关系
一个模块中可以包含多个函数
在python中一个扩展名为.py的文件就是一个模块
使用模块的好处
方便其他程序和脚本的导入并使用
避免函数名和变量名冲突
提高代码的可维护性
提高代码的可重用性
自定义模块
创建模块
新建一个.py文件,名称尽量不要与Python自带的标准模块名称相同
导入模块
import 模块名 (as 别名) 导入模块中的所有
from 模块名 import 函数 导入模块中指定的一块
import math
print(id(math))
print(math)
print(dir(math))
print(math.pi)
print(math.pow(2, 3))
导入自己的模块
def max(a, b):
if a >= b:
return a
elif a < b:
return b
def min(a,b):
if a>=b:
return b
elif a<b:
return a
import calc
print(calc.max(2, 2))
以主程序形式运行
在每隔模块的定义中都包括一个记录模块名称的变量__name__,程序可以检查该变量,以确定他们在哪个模块中执行,如果一个模块不是被导入到其他程序中执行,name他可能在解释器的顶级模块中执行,顶级模块的__name__变量的值为__main__
def max(a, b):
if a >= b:
return a
elif a < b:
return b
def min(a,b):
if a>=b:
return b
elif a<b:
return a
if __name__ == '__main__': # 只有当calc是主程序时才会执行
print(max(3,5))
包
包是一个分层次的目录结构,它将一组功能相近的模块组织在一个目录下
作用:
代码规范
避免模块名称冲突
包与目录的区别
包含__init__.py文件的目录称为包
目录里通常不包含__init__.py文件
python常用的内置模块
模块名
|
描述
|
sys
|
与python解释器及其环境操作相关的标准库
|
time
|
提供与事件相关的各种函数的标准库
|
os
|
提供访问操作系统服务功能的标准库
|
calendar
|
提供与日期相关的各种函数的标准库
|
urllib
|
读取来自网上的数据标准库
|
json
|
用于使用json序列化和反序列化对象
|
re
|
用于在字符串中执行正则表达式匹配和替换
|
math
|
提供标准算术运算函数的标准库
|
decimal
|
用于进行精确控制运算精度、有效数位和四舍五入操作的十进制运算
|
logging
|
提供灵活的记录时间、错误、警告和调试信息等日志信息的功能
|
# 模块
import sys
print(sys.getsizeof(274))
print(sys.getsizeof(True))
import time
print(time.time())
print(time.localtime(time.time()))
import urllib
print(urllib.request.urlopen('http://www.baidu.com').read())
第三方模块的安装与使用
可以通过cmd窗口安装,pip install 模块名
可以通过pycharm内的File->Settings ->Project -> Python Interpreter下载
# 第三方模块的导入与使用
import schedule
import time
def action():
print("哈哈")
schedule.every(3).seconds.do(action)
while True:
schedule.run_pending()
time.sleep(1)