在Python编程语言中,模块(module)是一个包含Python代码的文件,它定义了函数、类、变量等。模块是Python代码组织的基本单位。
要使用模块中的内容,你需要导入模块。Python提供了多种导入模块的方法,包括使用
import
语句、from ... import ...
语句和as
关键字来重命名导入的模块或对象。
一、python标准库中的常用模块
1. sys模块
sys模块是python标准库中最常用的模块之一。
1.1 导入sys模块
在使用模块之前要先导入模块,使用import语句可以导入模块:import 模块名
例如,导入sys模块的语句:import sys
1.2 使用模块中的函数和变量
访问函数中的模块:模块名.函数名(参数列表)
访问模块中的变量:模块名.变量
1.3 获取当前的操作系统平台
Python是支持跨平台的语言。因此,在程序中经常需要获取当前的操作系统平台,以便针对不同的操作系统编写对应的程序。
使用变量sys.platform可以获取当前的操作系统平台。
1.4 退出应用程序
使用sys.exit(n)函数可以退出应用程序,当n=0时,程序无错误退出;当n=1时,程序有错误退出。
2. platform模块
platform模块可以获取操作系统的详细信息和与python有关的信息。使用platform
模块可以帮助开发者根据不同的平台和环境调整程序的行为,比如在部署跨平台应用程序时检测特定的系统特性,或者是在报告中包含系统信息以便于调试。
2.1 获取操作系统名称及版本号
使用platform.platform()函数。
2.2 获取操作系统的基本类型
使用platform.system()函数。
2.3 获取操作系统版本信息
使用platform.version()函数。
2.4 获取计算机类型
使用platform.machine()函数。
2.5 获取计算机的网络名称
使用platform.node()函数。
2.6 获取计算机的处理器信息
使用platform.processor()函数。
2.7 获取计算机的综合信息
使用platform.uname()函数。
2.8 获取Python版本信息
使用platform.python_build()函数。
2.9 获取python解释器信息
使用platform.python_compiler()函数。
3. 与数学有关的模块
3.1 math模块
math模块定义了e(自然对数)和pi(Π)两个常量。
math.asin(x) #返回x的反正弦,cos和tan同理
math.asinh(x) #返回x的反双曲正弦
math.atan2(y/x) #返回y/x的反正切
math.cell(x) #返回大于等于x的最小整数
math.copysign(x,y) #返回与y同号的x值
math.exp(x) #返回e的x次方
math.fabs(x) #返回x的绝对值
math.factorial(x) #返回x!
math.pow(x,y) #返回x的y次方
math.saqrt(x) #返回x的开根
3.2 random模块
random.random() #生成一个0~1的浮点数
random.uniform(a,b) #生成一个a~b的浮点数
random.randint(a,b) 生成一个a~b的整数
random.choice(sequence) #从序列中获取一个随机元素,参数sequence可以是列表、元组或字符串
random.shuffle(x) #用于将一个列表中的元素打乱,x是一个列表
random.sample(sequence,k) #从指定序列中获取k个元素,以列表类型返回
3.3 decimal模块
浮点数缺乏精确性,decimal模块提供了Decimal数据类型用于浮点数计算,Decimal默认小数点精度为28位。
#导入decimal模块中的Decimal对象
from decimal import Decimal
print(Decimal("1.0")/Decimal("3.0")
#运行结果:0.3333333333333333333333333333
可以通过getcontext().prec来设置小数点的精度。
from decimal import Decimal
from decimal import getcontext
getcontext().prec = 6 #单独设置
print(Decimal("1.0")/Decimal("3.0"))
#运行结果:0.333333
3.4 fractions模块
fractions模块用于表现和处理分数,使用Fractions()函数可以定义分数数据:
x = fractions.Fractions(分子,分母)
import fractions
x = fractions,Fractions(1,3)
print(x)
#运行结果:1/3
4. time模块
4.1 时间的表达方式
struct_time元组包含9个元素:
year,4位的年份,如2024
month,月份,1~12的整数
day,日期,1~31的整数
hours,小时,0~23的整数
minutes,分钟,0~59的整数
seconds,秒钟,0~59的整数
weekday,星期,0~6的整数,星期一为0
Julian day,一年有几天,365或366
DST,如果DST=0,则给定时间属于标准时区,若DST=1,则给定时间属于夏令时时区
4.2 获取当前时间
使用time.time()函数可以获取当前时间。
import time
print(time.time())
4.3 将一个时间戳转换为一个当前时区的时间戳
使用time.localtime()函数。
import time
print(time.localtime(time.time()))
4.4 格式化输出struct_time时间
格式字符串可以使用的日期和时间符号如下:
%y 两位数的年份表示(00~99)
%Y 四位数的年份表示(0000~9999)
%m 月份(01~12)
%d 月内中的一天(01~31)
%H 24小时制小时数(0~23)
%I 12小时制小时数(01~12)
%M 分钟数(00~59)
%S 秒(00~59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化月份名称
%B 本地完整月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001~366)
%p 本地A.M或P.M
%U 一年中的星期数(00~53),星期天为星期的开始
%w 星期(0~6),星期天为星期的开始
%W 一年中的星期数(00~53),星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
import time
print(time.strftime('%Y-%m-%d',time.localtime(time.time()))
4.5 直接获取当前时间的字符串
使用time.ctime()函数。
二、自定义和使用模块
1. 创建自定义模块
可以把模块组织到模块中,在其他程序可以引用模块中定义的函数。
模块是一个.py文件,其中包含函数的定义。
#创建一个模块mymodoule.py,其中包含两个函数
def PrintString(str):
print(str)
def sum(num1,num2)
print(num1+num2)
2. 导入模块
假定上面创建的模块mymoudle.py保存在与下面py文件的同一目录下,引用其中包含的函数PrintString()和sum(),代码如下:
import mymoudle #导入mymoudle模块
#调用PrintString函数
mymoudle.PrintString("Hello Python!")
#调用sum函数
mymoudle.sum(1,2)