random() 方法返回随机生成的一个实数,它在[0,1)范围内。
import random
print(random.random()) #随机生成一个0-1的数字
注意:random()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。
import random print(random.randint(1,9)) #随机一个大于1小于9的小数,randint里面是整数范围 print(random.randrange(1,9,2) ) #随机一个大于1小于9的奇数,2表示递增基数
import random print(random.choice(['123','abc',52,[1,2]])) #随机返回参数列表中任意一个元素 print(random.sample(['123','abc',52,[1,2]],3)) #随机返回参数,3表示返回几个 #执行结果: 52 ['abc', [1, 2], 52]
import random lis = [1,2,5,7,9,10] random.shuffle(lis) #打乱顺序 print(lis) #执行结果: [1, 7, 2, 10, 9, 5]
import random random.uniform(1, 10) #执行结果: 随机浮点数
练习:随机生成验证码
import random def qr_code(): code="" for i in range(5): if i == random.randint(0,9): add = random.randrange(10) else: add = chr(random.randrange(65,91)) code += str(add) print(code) qr_code()
高级版:
import random def qr_code(): code="" for i in range(5): add = random.choice([random.randrange(10),chr(random.randrange(65,91))]) code += str(add) print(code) qr_code()
time函数:
1.时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日开始按秒计算的偏移量(time.gmtime(0))此模块中的函数无法处理1970纪元年以前的时间或太遥远的未来(处理极限取决于C函数库,对于32位系统而言,是2038年) 2.UTC(Coordinated Universal Time,世界协调时)也叫格林威治天文时间,是世界标准时间.在我国为UTC+8 3.DST(Daylight Saving Time)即夏令时 4.一些实时函数的计算精度可能不同
time模块的格式:
1.0 timestamp,通常说法:时间戳。
时间戳表示的是从1970年1月1日开始按秒计算的偏移量(time.gmtime(0))此模块中的函数无法处理1970纪元年以前的时间或太遥远的未来
2.0 格式化的时间字符串(Format String):2019-05-03
%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 当前时区的名称 %% %号本身
3.0 struct_time
time 的内置函数
1.0 Python time time() 返回当前时间的时间戳(1970纪元后经过的浮点秒数)。
time()方法语法:
time.time()
import time print(time.time()) #时间戳 #执行结果: 1556885145.0857482
2.0 time.localtime()
import time print(time.localtime()) #执行结果: time.struct_time(tm_year=2019, tm_mon=5, tm_mday=3, tm_hour=20, tm_min=9, tm_sec=53, tm_wday=4, tm_yday=123, tm_isdst=0) #tm_year 年,tm_mon 月, tm_mday 日, tm_hour=小时, tm_min=分, tm_sec=秒, tm_wday=周(0-6), tm_yday=一年中的第几天, tm_isdst=
3.0 time.clock():cpu工作时间
import time print(time.clock()) 0.115648466 DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead print(time.clock())
4.0 time.sleep(): 睡眠时间
5.0 time.ctime():
import time print(time.ctime()) #执行结果: Fri May 3 20:19:46 2019
6.0 time.strftime()
import time print(time.strftime("%Y--%m--%d %H:%M:%S %a")) #执行结果: 2019--05--03 20:23:24 Fri
7.0 time.gmtime():UTC时间
import time print(time.gmtime()) #执行结果: time.struct_time(tm_year=2019, tm_mon=5, tm_mday=3, tm_hour=12, tm_min=24, tm_sec=38, tm_wday=4, tm_yday=123, tm_isdst=0)
8.0 time.strptime():把一个格式化时间字符串转化为struct_time,实际上它和strftime()是逆操作
print(time.strptime("2019-05-03","%Y-%m-%d")) #执行结果: time.struct_time(tm_year=2019, tm_mon=5, tm_mday=3, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=123, tm_isdst=-1)
9.0 time.mktime()
接受时间元组并返回时间辍(1970纪元年后经过的浮点秒数)