time模块的使用
示例代码:主要用来获取系统时间,或者设置延迟
import time
now=time.time()
print(now)#时间戳
print()
obj=time.localtime()
print(obj)
obj2=time.localtime(80)#从指定指定时间80秒后
print(obj2)
print(type(obj2))
print("年份",obj.tm_year)
print("月份",obj.tm_mon)
print(time.ctime())#时间戳对应的易读的字符串
#日期时间的格式化
print(time.strftime("%Y-%m-%d",time.localtime()))
print(time.strftime("%H:%M:%S",time.localtime()))
print(time.strftime("%B",time.localtime()))#月份的名称
print(time.strftime("%A",time.localtime()))#星期的名称
#字符串转换为struct_time
print(time.strptime("2024-5-18","%Y-%m-%d"))
#程序休眠
time.sleep(5)#类似延迟
print("i love you")
datetime模块
基础用法
示例代码:可以处理时间上的计算
from datetime import datetime
from datetime import timedelta
delta1=datetime(2024,5,19)-datetime(2005,5,19)
print(delta1,type(delta1))
print("2005年5月19后的6940天是",datetime(2005,5,19)+delta1)
#通过传入参数的方式创建有一个timedelta的对象
dt=timedelta(10)
print("创建一个10天的timedelta对象",dt)
dt2=timedelta(10,11)
print("创建一个10天11秒的timedelta对象",dt2)
在 Python 的 datetime 模块中, timedelta 对象用于表示两个 datetime 对象之间的时间差,或者用于对 datetime 对象进行时间的增减操作。
以下是一些常见的用途:
1. 计算两个日期时间对象之间的时间间隔
from datetime import datetime, timedelta
dt1 = datetime(2024, 7, 18)
dt2 = datetime(2024, 7, 20)
time_delta = dt2 - dt1
print(time_delta)
2. 对日期时间对象进行时间的增减
from datetime import datetime, timedelta
dt = datetime(2024, 7, 18)
new_dt = dt + timedelta(days=2) # 增加 2 天
print(new_dt)
new_dt = dt - timedelta(hours=3) # 减少 3 小时
print(new_dt)
总之, timedelta 对象在处理日期时间的间隔和对日期时间进行灵活的时间增减操作时非常有用。
datetime类的使用
示例代码:也可以获取系统的时间,不过和time的样式不一样,这个是易读的时间样式
from datetime import datetime
dt=datetime.now()
print("当前的系统时间为",dt)
#datetime是一个类,可以手动创建
dt2=datetime(2020,8,8,8)
print("dt2的数据类型是:",type(dt2),dt2)
print()
#比较两个datetime类对象大小
print(dt>dt2) #较早的时间比较小
print()
#datetime类型也可以和字符串类型相互转换
dt_str=dt.strftime("%Y-%m-%d %H:%M:%S")
print(dt_str,type(dt_str))
#字符串转换为datetime类型
time1="2024年5月19日"
dt3=datetime.strptime(time1,"%Y年%m月%d日")
print(type(dt3),dt3)
代码结果:
当前的系统时间为 2024-07-18 16:55:02.721304
dt2的数据类型是: <class 'datetime.datetime'> 2020-08-08 08:00:00
True
2024-07-18 16:55:02 <class 'str'>
<class 'datetime.datetime'> 2024-05-19 00:00:00
random模块
基础用法
示例代码:这是一个生成随机数的内置模块
示例代码:
import random
#设置随机数的种子
random.seed(9) #种子不变,产生的随机数不变
print(random.random())
print(random.random())
print()
random.seed(10)
print(random.randint(1,100))
print(random.randint(1,50))
print()
for i in range(5):
print(random.randrange(1,15,3))#不包括15
print()
print(random.uniform(1,100))#产生随机小数
print()
lst=[i for i in range(11)]
print(random.choice(lst))#随机取元素
#随机排序
random.seed(9)
random.shuffle(lst)
print(lst)
注意:设置随机数的种子可以在运行中控制随机数一次生成后不发生变化
代码结果:
0.46300735781502145
0.37331193139504204
74
3
10
10
13
1
4
46.795470301201966
7
[10, 8, 3, 2, 0, 6, 1, 4, 5, 9, 7]
随机数种子的用法举例
在 Python 的 random 模块中,可以通过以下几种方式设置随机数的种子:
1. 直接传递一个整数作为种子
import randomrandom.seed(42)
2. 使用当前的时间戳作为种子
您可以通过 time 模块获取当前时间戳并作为种子:
import random
import time
timestamp = int(time.time())
random.seed(timestamp)
3. 使用其他固定的数值来源作为种子,例如从用户输入、从配置文件读取的值等
import random
seed_value = int(input("请输入种子值: "))
random.seed(seed_value)
这些方式都可以用来设置随机数生成器的种子,以控制随机数序列的生成。