import random
import time
#random
a1 = random.random() # 随机返回[0, 1)之间的小数
a2 = random.uniform(1, 3) # 随机返回[x, y]之间小数
a3 = random.randint(1, 11) #随机给定范围[a, b]内整数
a4 = random.randrange(1, 10, 2) #随机给定范围[a, b)之前的整数,可设置步长
a5 = random.choice([1, '2', [3, 4]]) #从非空列表中随机返回一个元素
a6 = random.sample([1, '2', [3, 4]], 2) #从非空列表中随机返回指定长度列表,元素随机
print(a1, a2, a3, a4, a5, a6)
L1 = [1, '2', [3, 4]]
random.shuffle(L1) #打乱列表顺序
print(L1)
#例:
"""
生成验证码:
1、6位数字
2、6位数字+字母
"""
def int_verify():
ver = ''
for i in range(6):
ver += str(random.randint(0, 9))
return ver
test = int_verify()
print(str(test))
def verify():
ver = ''
for i in range(6):
num = str(random.randint(0, 9))
as_num = random.randint(97, 122)
alpha = chr(as_num)# Unicode编码转换为对应的字符
ver += random.choice([num, alpha])# 两个元素选一个返回
return ver
test1 = verify()
print(test1)
#time
print(time.time()) #返回时间戳,伦敦时间1970年1月1日0点0分0秒(北京8点)开始到现在的秒数
print(time.sleep(1))
#时间格式化
print(time.strftime('%Y-%m-%d %H:%M:%S')) # 2022-11-17 20:27:21 %Y年(小写y显示年的后两位) %m月 %d日 %H时 %M分 %S秒
print(time.strftime('%c')) # Tue Nov 8 20:32:10 2022 %c:当前时间
#结构化时间,localtime() 本地时间
# gmtime() 伦敦时间
# tm_wday:当前周几,0-6表示周一到周日 tm_yday:当前是一年中的第N天 tm_isdst:是否采用夏令时,默认0表示否
print(time.localtime()) #time.struct_time(tm_year=2022, tm_mon=11, tm_mday=8, tm_hour=20, tm_min=38, tm_sec=32, tm_wday=1, tm_yday=312, tm_isdst=0) 本地时间
# 时间转换, 字符串 ← 结构化时间 → 时间戳
print(time.localtime(1669118503))# 时间戳转结构化
print(time.mktime(time.localtime(1669118503)))# 结构化时间转时间戳
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(1669118503)))# 2022-11-22 20:01:43 结构化时间转格式化时间
print(time.strptime('2022-11-22 20:01:43', '%Y-%m-%d %H:%M:%S'))# 格式化时间转结构化时间,('时间', '格式')
#例
#计算时间间隔
def sub_time(old_time, new_time, Ftime):
stamp_time1 = time.mktime(time.strptime(old_time, Ftime))
print("stamp_time1", stamp_time1)
stamp_time2 = time.mktime(time.strptime(new_time, Ftime))
print("stamp_time2", stamp_time2)
sub_str_time = time.gmtime(stamp_time2 - stamp_time1)# 因时区问题,要取英国时间time.gmtime()
print(sub_str_time)
return (sub_str_time.tm_year - 1970,
sub_str_time.tm_mon - 1,
sub_str_time.tm_mday - 1,
sub_str_time.tm_hour,
sub_str_time.tm_min,
sub_str_time.tm_sec)
print(sub_time('2022-11-22 20:01:43', '2022-11-22 20:18:40', '%Y-%m-%d %H:%M:%S'))