python3常用模块

发布于:2025-07-03 ⋅ 阅读:(30) ⋅ 点赞:(0)

1 数学运算模块 math

  • “math”模块提供了许多常用的数学函数,例如三角函数、四舍五入、指数、对数、平方根、总和等
import math

1.1 常数

  • math.pi 返回圆周率的数学常数。
  • math.e 返回指数的数学常数
  • 示例:
print(math.pi)
print(math.e)

1.2 fabs(x)

  • 取绝对值
  • 示例:
print(math.fabs(5))
print(math.fabs(-5))

1.3 ceil(x)、floor(x)、round(x)

  • ceil(x):向上取整(进1)
print(math.ceil(3.1))
  • floor(x):向下取整
print(math.floor(3.1))
  • round(x):四舍五入取整
print(round(3.51))
print(round(3.49))

1.4 pow(x, y)、sqrt(x)

  • pow(x, y):x的y次方
print(math.pow(2,3))
print(2**3)
  • sqrt(x):x的平方根
print(math.sqrt(9))

1.5 factorial(x)

  • factorial(x):x的阶乘,x只能为正整数
print(math.factorial(5))

2.6 gcd(a,b)、lcm(a,b)

  • gcd(a,b):a与b的最大公约数
print(math.gcd(12,8))
  • lcm(a,b):a与b的最小公倍数
print(math.lcm(9,6))

2 随机数模块random

  • 主要用于生成随机数
  • 实现了各种分布的伪随机数生成器
import random

2.1 random()方法

  • 返回一个随机数,范围半开放区间 [0,1)
print(random.random())

# 随机数种子,使用种子生成随机数
random.seed()
print(random.random())
print(random.random())

2.2 randint()方法

  • 返回一个随机正数,范围[a,b]
print(random.randint(8,9))

2.3 randrange()方法

  • 返回指定范围 [a,b) 内的随机数
  • 语法:random.randrange(start, stop, step)
    • start – 可选, 一个整数,指定开始值,默认值为 0
    • stop – 必需, 一个整数,指定结束值
    • step – 可选, 一个整数,指定步长,默认值为 1
  • 示例:
print(random.randrange(1,9,3))

3 日期和时间处理模块datetime

  • date 类用于表示日期,包含年、月、日三个属性
  • time 类用于表示时间,包含时、分、秒、微秒等属性
  • datetime 类是 date 和 time 的结合体,可以同时表示日期和时间
  • timedelta 类用于表示时间差,可以用于日期和时间的加减操作
import datetime

3.1 datetime

  • 获取当前时间
print(datetime.datetime.now())
  • 获取时间各个字段
print(datetime.datetime.now().year)
now=datetime.datetime.now()
print(now.month)
print(now.day)
print(now.hour)
print(now.minute)
print(now.second)
  • 获取指定时间
print(datetime.datetime(2025,1,3,9,30,0))
  • 格式化日期和时间
    • 常用符号
      Y m d H M S

      四位

      两位:01~12

      两位:01~31

      两位:0~23

      两位:00~59

      两位:00~59
now=datetime.datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))
print(now.strftime("%Y年%m月%d日 %H:%M:%S"))

3.2 timedelta

  • 计算时间差
now=datetime.datetime.now()
# 10天后
after_10_date=now+datetime.timedelta(days=10)
print(after_10_date)
# 10天前
before_10_date=now-datetime.timedelta(days=10)
print(before_10_date)
before_10_date=now+datetime.timedelta(days=-10)
print(before_10_date)

# 1月前
before_1_month=now-datetime.timedelta(days=30)
print(before_1_month)

# 1年前
before_1_year=now-datetime.timedelta(days=365)
print(before_1_year)

3.3 date

  • 获取当天日期
# print(datetime.date.today())
  • 应用场景:日志备份
date=datetime.date.today()
path="D:/333/A/1.txt"
new_name=path.split('/')[-1].replace('.txt','_'+str(date)+'.txt')
print(new_name)
with open(path,'r',encoding='utf-8') as f1:
    text=f1.read()
    # print(text)
    with open('D:/333/B/'+new_name,'w',encoding='utf-8') as f2:
        f2.write(text)

4 系统相关模块sys

  • 提供了与python解释器及其环境交互的功能
  • 通过 sys 库,可以访问与 Python 解释器相关的变量和函数,例如命令行参数、标准输入输出、程序退出等。
import sys

4.1 命令行参数

  • sys.argv 是一个包含命令行参数的列表。sys.argv[0] 是脚本的名称,后续元素是传递给脚本的参数。
print(f'脚本名称:{sys.argv[0]}')
print(f'脚本参数:{sys.argv[1]}')
  • 在终端运行:python py.py py

4.2 sys.exit()

  • 用于退出程序
def A():
    print('-'*20,'函数A开始','-'*20)
    for i in range(10):
        print(i)
        if i==5:
            print('-'*20,'函数A结束','-'*20)
            # return结束当前函数
            return
            # exit退出当前程序
            # sys.exit()
def B():
    print('-'*20,'函数B开始','-'*20)
    A()
    # exit时不执行该语句
    print('-'*20,'函数B结束','-'*20)
B()

4.3 标准输入输出

  • sys.stdin、sys.stdout 和 sys.stderr 分别代表标准输入、标准输出和标准错误流。
# 标准输出
with open('d:/333/2.txt','w',encoding='utf-8') as f:
    sys.stdout=f
    print('标准输出到文件')
# 标准输入
print('输入:')
list1=[]
for i in sys.stdin:
    if i.strip()=="":
        break
    list1.append(i.strip())
print('输出:')
for i in list1:
    print(i)