python学习---random模块、time和datetime

random()

产生随机数

randrange()

randrange(a,b,n)产生[a,b),步长为n的随机数

randint()

randint(a,b) 产生[a,b]内的随机数

r = random.random()
print(r)#0.361034828962297
r1 = random.randrange(1,10,2)
print(r1)#9
r2 = random.randint(1,10)
print(r2)#8

choice()

返回一个列表,元组或字符串的随机元素。

l = ['11','221','2223']
r = random.choice(l)
print(r)#11

shuffle()

打乱顺序

l = ['11','221','2223','2','324']
random.shuffle(l)
print(l)#['2223', '11', '324', '221', '2']

应用:产生验证码

def ma():
    code = ''
    for i in range(4):
        r1 = str(random.randint(0,9))
        r2 = chr(random.randint(65,90))
        r3 = chr(random.randint(97,122))
        code += random.choice([r2,r1,r3])
    return code
print(ma())

time和datetime

time模块

sleep(sec)

推迟调用线程的运行,可通过参数secs指秒数,表示进程挂起的时间。

time()

时间戳

ctime()

时间戳转换为字符串

localtime()

时间戳转换为元组

mktime()

时间元组转换为时间戳

strftime()

strftime(format[, t]) 时间元组转换为可读字符串表示的当地时间,格式由参数 format 决定。

strptime()

strptime(string[, format]) 把时间字符串解析为时间元组。

时间格式

%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-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
time.sleep(1)
t = time.time()#时间戳
print(t)#1628479939.6939673
s = time.ctime(t)#将时间戳转换为特定字符串
print(s)#Mon Aug  9 11:32:19 2021
l = time.localtime(t)#将时间戳转换为特定元组
print(l)#time.struct_time(tm_year=2021, tm_mon=8, tm_mday=9, tm_hour=11, tm_min=32, tm_sec=19, tm_wday=0, tm_yday=221, tm_isdst=0)
tt = time.mktime(l)#将时间元组转换为时间戳
print(tt)#1628479939.0
date_time = time.strftime("%Y-%m-%d, %H:%M:%S")#时间元组转为字符串
print(date_time)#2021-08-09, 11:32:19
struct_time = time.strptime("30 Nov 00", "%d %b %y")#时间字符串转为元组
print(struct_time)#time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)

datetime模块

time()

时间

date()

日期

datetime()

时间日期

datetime.datetime.now()

#现在的日期时间

datetime.date.today()

#当天的日期

timedelta()

时间差
用于缓存:如redis 作为保存 redis.set(key,value,时间差)

import datetime
import time

print(datetime.time.hour)#无法看到具体的数值,是一个对象
th = time.localtime().tm_hour#通过time模块的localtime方法可以看
print(th)#11
print(datetime.date.day)#无法看到具体的数值,是一个对象

print(datetime.datetime.now())
print(datetime.date.today())
print(datetime.timedelta(days=2,hours=2))#2 days, 2:00:00
print(datetime.date.today()-datetime.timedelta(days=1,hours=1))#返回今天的一天一小时前的日期
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值