模块
例:
模块的导入
导入Python已有模块
#导入模块中所有方法
import 模块名称 [as 别名]
#导入模块中指定的方法
from 模块名称 import 函数/变量/类名
例:
import math #关于数学运算
print(id(math))
print(type(math))
print(math)
print(dir(math)) #输出math的属性
print('----------------------')
print(math.pi) #计算π的值
print(math.pow(2,3),type(math.pow(2,3))) #pow(a,b)计算a的b次方 8.0 <class 'float'>
print(math.ceil(9.2130)) #ceil向上取整
print(math.floor(9.34)) #floor向下取整
运行结果:
from math import pi
print(pi)
print(pow(2,3),type(pow(2,3))) #非math里的pow
print(math.pow(2,3),type(math.pow(2,3)))
from math import pow
print(pow(2,3))
运行结果:
导入自定义模块
from 模块名称 import 函数/变量/类
例:
from module import add
print(module.add(2,4)) #6
print(module.div(4,2)) #2.0
或
将此目录标记为源代码根目录,再直接导入
import module
print(module.add(2,4)) #6
print(module.div(4,2)) #2.0
以主程序形式运行
if __name__ == '__main__' :
pass
在每个模块的定义中都包括一个记录模块名称的变量__name__,程序可以检查该变量,以确定他们在哪个模块中执行。如果一个模块不是被导入到其他程序中执行,那么它可能在解释器的顶级模块中执行。顶级模块的__name__变量的值为__main__
例:
#run_main.py
def add(a,b):
return a+b
# print(add(10,20))
if __name__=='__main__': #只有运行当前程序时才会执行
print(add(10, 20)) #否则导入该模块的程序运行时会执行该行代码
#run_assistant.py
import run_main
print(run_main.add(100,200))
若被注释的那一行不以主程序的形式运行,在运行run_assistant.py时,会得到10+20的结果和100+200的结果。
导入包
import 包名.模块名 as 别名
例:
另建package
import package.moduleA
print(package.moduleA.a)
import package.moduleA as ma
print(ma.a)
导入带有包的模块
使用import方式进行导入时,只能跟包名或模块名
例:
import package
import module
使用from…import可以导入包、模块、函数、变量
from package import moduleA
from package.moduleA import a
Python中常用的内置模块
sys:与Python解释器及其环境操作相关的标准库
time 提供与时间相关的各种函数的标准库
os:提供了访问操作系统服务功能的标准库
calendar:提供与日期相关的各种函数的标准库
urllib:用于读取来自网上(服务器)的数据标准库
json:用于使用JSON序列化和反序列化对象
re:用于在字符串中执行正则表达式匹配和替换
math:提供标准算术运算函数的标准库
decimal:用于进行精确控制运算精度、有效数位和四舍五入操作的十进制运算
logging:提供了灵活的记录事件、错误、警告和调试信息等日志信息的功能
例:
import sys
import time
import urllib.request
import math
print(sys.getsizeof(12)) #获取对象所占内存大小
print(sys.getsizeof(34))
print(sys.getsizeof(True))
print(sys.getsizeof(False))
print(time.time()) #获取秒
print(time.localtime(time.time())) #将秒转换成本地时间
print(urllib.request.urlopen('http://www.baidu.com').read()) #打开并读取百度
print(math.pi)
第三方模块的安装和使用
第三方模块的安装
pip install 模块名
第三方模块的使用
import 模块名
例:
import time
import schedule
def job():
print('哈哈------')
schedule.every(3).seconds.do(job) #每三秒执行一次job
while True:
schedule.run_pending() #启动
time.sleep(1) #休眠1秒钟