作者:枫溪迪
直接进入主题
今天学习内容
一、time
二、random
一、time
首先导入time
import time
在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素。由于Python的time模块实现主要调用C库,所以各个平台可能有所不同。
struct_time中包含的几个元素分别是
0 | tm_year(年) | 比如2019 |
---|---|---|
1 | tm_mon(月) | 1 - 12 |
2 | tm_mday(日) | 1 - 31 |
3 | tm_hour(时) | 0 - 23 |
4 | tm_min(分) | 0 - 59 |
5 | tm_sec(秒) | 0 - 61 |
6 | tm_wday(weekday) | 0 - 6(0表示周日) |
7 | tm_yday(一年中的第几天) | 1 - 366 |
8 | tm_isdst(是否是夏令时) | 默认为-1 |
下面我们介绍几个经常使用到的函数
1、time.localtime():将一个时间戳转换为当前时区的struct_time
time.localtime()#time.struct_time(tm_year=2019, tm_mon=11, tm_mday=11, tm_hour=8, tm_min=53, tm_sec=24, tm_wday=0, tm_yday=315, tm_isdst=0)
time.localtime()我们可以传入参数,没有参数则默认当前时间
time.localtime(0)#time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
time.localtime(3)#time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=3, tm_wday=3, tm_yday=1, tm_isdst=0)
为什么time.localtime(0),是1970年1月1日?
因为:时间戳表示是从1970年1月1日开始按秒计算的偏移量
time.localtime(3)
就是加3秒
2)time.gmtime():和localtime()方法类似,gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time。
3)time.time():返回当前时间的时间戳。
time.time() #1573434521.6378312
4)time.mktime(t):将一个struct_time转化为时间戳。
time.mktime(time.localtime())#1573434580.0
5)time.sleep():使程序进入休眠。单位为秒
start = time.time()time.sleep(5)end = time.time()print(end - start)
#5.000399827957153
这里进入睡眠五秒,之所以输出不是整数5,是因为每一天语句本身的运行也是需要消耗时间的。
6)time.asctime():把一个表示时间的元组或者struct_time表示为这种形式: Sun Jun 20 23:21:05 1993 。如果没有参数,将会将time.localtime()作为参数传入
time.asctime()# Mon Nov 11 13:34:03 2019
8)time.ctime():把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果参数未给或者为None的时候,将会默认time.time()为参数。它的作用相当于time.asctime(time.localtime())。
time.ctime()# Mon Nov 11 13:40:16 2019
9)time.strftime():把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串。如果t未指定,将传入time.localtime()
time.strftime("%Y-%m-%d %X", time.localtime())# 2019-11-11 13:46:07
time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime())# 2019-11-11-13-47-06
time.strftime("%Y-%m-%d-%H-%M-%S")# 2019-11-11-13-49-15
这里%X 等效于 %H-%M-%S,更多参数如下
%a | 本地(locale)简化星期名称 |
---|---|
%A | 本地完整星期名称 |
%b | 本地简化月份名称 |
%B | 本地完整月份名称 |
%c | 本地相应的日期和时间表示 |
%d | 一个月中的第几天(01 - 31) |
%H | 一天中的第几个小时(24小时制,00 - 23) |
%I | 第几个小时(12小时制,01 - 12) |
%j | 一年中的第几天(001 - 366) |
%m | 月份(01 - 12) |
%M | 分钟数(00 - 59) |
%p | 本地am或者pm的相应符 |
%S | 秒(01 - 61) |
%U | 一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周。 |
%w | 一个星期中的第几天(0 - 6,0是星期天) |
%W | 和%U基本相同,不同的是%W以星期一为一个星期的开始。 |
%x | 本地相应日期 |
%X | 本地相应时间 |
%y | 去掉世纪的年份(00 - 99) |
%Y | 完整的年份 |
%Z | 时区的名字(如果不存在为空字符) |
%% | ‘%’字符 |
10)time.strptime():把一个格式化时间字符串转化为struct_time。实际上它和strftime()是逆操作。
time.strptime( 2019-11-11 21:54:06 , %Y-%m-%d %X )#time.struct_time(tm_year=2019, tm_mon=11, tm_mday=11, tm_hour=21, tm_min=54, tm_sec=6, tm_wday=0, tm_yday=315, tm_isdst=-1)
二、random
random是一个用于生产随机数的标准库,下面我们介绍一下这个库的使用。
首先导入random
import random
1)random.random()用于生成0-1的浮点数
random.random()#0.7575024558633502
2) random.uniform() 用于生成一个指定范围内的随机符点数,必须设置上下限。
random.uniform(1,9)#7.99171945325922
3)random.randint() 用于生成一个指定范围内的整数,必须设置上下限。
random.randint(1,9)#2
4)random.randrange(a, b, c) 从指定范围(a-b)内,按指定基数(c)递增的集合中随机选取一个。
random.randrange(0, 10, 2)#6
5)random.sample(string, num) 生成从string中随机选取num个元素返回一个列表
random.sample( abcdef ,5) #[ c , b , d , a , f ]
6) random.choice(items), items可迭代类型,字符串,列表,原组...
random.choice( abcsd )# d
random.choice([1,2,3,4,5])#4
random.choice((8,4,5,5,6,))#6
7) random.shuffle(items) 打乱列表的顺序,在原列表操作
list1 = [1,2,3,4,5,6]random.shuffle(list1)
print(list1)#[1, 2, 6, 3, 4, 5]
除了这几个外,还能生成,贝塔分布,伽马分布,正态分布等大家可以执行尝试一下。
怎么查看有哪些方法?
输入 random. 一般这个时候就会出现了,如果没有点一下tab键,,会显示random下的方法,点是必须的
今天就到这,帮忙点个在看再走
● 大幅减少训练迭代次数,提高泛化能力:IBM提出「新版Dropout」
● Python画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
本文分享自 机器学习与python集中营 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!