首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你不得不会的python常用内置模块--time/random

你不得不会的python常用内置模块--time/random

作者头像
小草AI
发布2019-11-19 17:01:37
4320
发布2019-11-19 17:01:37
举报

作者:枫溪迪

直接进入主题

今天学习内容

一、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画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)

数据分析最有用的 Top 50 Matplotlib 图(附完整的Python代码)(上)

详解Python中的可哈希对象与不可哈希对象(二)

Python高效编程之itertools模块详解

Python 核心设计理念27个问题及解答

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习与python集中营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档