Python中常用模块

目录

一、random模块

常用方法:

 1、random()

2、randint()

3、random.choice()

4、random.choices()

5、random.sampe()

6、random.seed()

7、random.shuffle()

8、random.unifrom()

9、random.randrange()

二、datetime模块

基本使用

1、获取当前日期和时间

 2、创建特定日期时间

 常用方法

日期时间格式化

时间计算

获取日期时间各部分

三、json模块

核心功能

1、json.dumps(obj):将Python对象转换为JSON格式字符串

2、json.dump(obj, file):将Python对象转换为JSON并写入文件

3、json.loads(json_str):将JSON字符串转换为Python对象

4、json.load(file):从文件读取JSON数据并转换为Python对象

总结


文章目录


一、random模块

random模块用于生成随机数。

常用方法:


 1、random()

import  random
print(random.random())
# 得到一个随机小数[0,1)

2、randint()

b = random.randint(10,20)
print(b)   # 得到一个随机整数[10,20]

3、random.choice()

print(random.choice(["哈哈哈","嘿嘿嘿","呜呜呜"]))  # choice 随机选取列表内的一个元素

4、random.choices()

print(random.choices(["哈哈哈","嘿嘿嘿","呜呜呜"],k=10)) 

# choices 比较choice可以多次重复选,k的值默认等于1,可以自行指定次数。

5、random.sampe()

print(random.sample(["哈哈哈","嘿嘿嘿","呜呜呜"],k=2))  
# sample 从里面随机选出k个默认是1,k的值必需要小于列表的长度

6、random.seed()

random.seed(1)   # seed 确定随机种子,确定random的值,后面不在改变
print(random.randint(1,10))

7、random.shuffle()

洗牌函数,随机列表打乱顺序

cards = list(range(1, 11))
random.shuffle(cards)
print(cards)  # 输出: [10, 3, 2, 7, 4, 8, 9, 6, 5, 1]  (随机打印的,每次或许都不一样)

8、random.unifrom()

# 生成指定范围内的随机浮点数
print(random.uniform(1.5, 2.5))  # 输出: 1.5-2.5之间的随机浮点数

9、random.randrange()

用于生成指定范围内的随机整数。它比 random.randint() 更灵活,可以指定步长(间隔)。

import random
print(random.randrange(10))  # 输出:0-9之间的随机整数
print(random.randrange(5, 10))  # 输出:5-9之间的随机整数
print(random.randrange(0, 10, 2))  # 输出:0, 2, 4, 6, 8中的一个

二、datetime模块

datetime 是 Python 处理日期和时间的标准库模块,提供了日期、时间、日期时间、时间差等多种类。

基本使用

1、获取当前日期和时间

from datetime import datetime

now = datetime.now()  # 获取当前本地日期时间
print(now)            # 输出: 2025-07-14 16:10:07.123456 

 2、创建特定日期时间

from datetime import datetime, date, time

# 创建datetime对象
dt = datetime(2023, 5, 15, 14, 30, 0)
print(dt)  # 2023-05-15 14:30:00

# 创建date对象
d = date(2023, 5, 15)
print(d)  # 2023-05-15

# 创建time对象
t = time(14, 30, 0)
print(t)  # 14:30:00

 常用方法

日期时间格式化

from datetime import datetime

now = datetime.now()

# 转换为字符串
formatted = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted)  # 2025-07-14 16:10:07

# 从字符串解析
dt = datetime.strptime("2023-05-15 14:30", "%Y-%m-%d %H:%M")
print(dt)  # 2023-05-15 14:30:00

# 其他格式化字符串
formatted = now.strftime("%Y年/%m月/%d日 %H:%M:%S")
print(formatted)  # 2025年/07月/14日  16:10:07

时间计算

from datetime import datetime, timedelta

now = datetime.now()

# 加1天
tomorrow = now + timedelta(days=1)
print(tomorrow)

# 减2小时
two_hours_ago = now - timedelta(hours=2)
print(two_hours_ago)

# 计算时间差
diff = tomorrow - two_hours_ago
print(diff)  # 1 day, 2:00:00
print(diff.total_seconds())  # 93600.0

获取日期时间各部分

dt = datetime(2023, 5, 15, 14, 30, 45)

print(dt.year)    # 2023
print(dt.month)   # 5
print(dt.day)     # 15
print(dt.hour)    # 14
print(dt.minute)  # 30
print(dt.second)  # 45

三、json模块

json模块用于处理JSON数据格式,实现Python对象与JSON字符串之间的转换。

核心功能

  1. 序列化:将Python对象转换为JSON字符串

  2. 反序列化:将JSON字符串转换为Python对象                                                       

1、json.dumps(obj):将Python对象转换为JSON格式字符串

data = {"name": "XiaoMing", "age": 21}
json_str = json.dumps(data)  
print(json_str,type(json_str))     # 输出: {"name": "XiaoMing", "age": 21} <class 'str'>

    2、json.dump(obj, file):将Python对象转换为JSON并写入文件

    import json
    d0 =[
        {"id":101,
        "name":"abc1"},
        {"id":102,
        "name":"abc2"},
        {"id":103,
        "name":"abc3"}
    ]
    d0_str = json.dumps(d0)
    print(d0_str)
    with open("json.txt","w")as f:
        json.dump(d0_str,f)
    
    
    #   同级目录下会生成一个json.txt的文本文件

    3、json.loads(json_str):将JSON字符串转换为Python对象

    python_data = json.loads('{"name": "XiaoMing", "age": 21}')
    print(python_data)  # 输出: {'name': 'XiaoMing', 'age': 21}

    4、json.load(file):从文件读取JSON数据并转换为Python对象

      with open('json.txt', 'r') as f:
          data = json.load(f)
      


    总结

    Python中json模块用于数据序列化,实现Python对象与JSON格式的相互转换;datetime模块提供日期时间处理功能,支持日期计算和格式化;random模块用于生成随机数和随机操作,支持多种分布类型。这三个标准库模块分别解决了数据交换、时间处理和随机生成三大常见需求,是Python开发中最基础且实用的工具模块。

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值