python中time和random模块的使用

time模块

以下操作均在ipython中实现:
import time #调用time模块
1) time.time()  #返回当前时间的时间戳

In [9]: time.time()
Out[9]: 1504767585.852276

2) time.sleep() #线程推迟指定的时间运行,单位为秒

3) time.localtime() #将一个时间戳转换为当前时区的struct_time,参数未提供时,则以当前时间为准

In [15]: time.localtime()
Out[15]: time.struct_time(tm_year=2017, tm_mon=9, tm_mday=7, tm_hour=15, tm_min=8, tm_sec=33, tm_wday=3, tm_yday=250, tm_isdst=0)

4)time.gmtime() #和localtime()方法类似,gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time

In [18]: time.gmtime()
Out[18]: time.struct_time(tm_year=2017, tm_mon=9, tm_mday=7, tm_hour=7, tm_min=9, tm_sec=53, tm_wday=3, tm_yday=250, tm_isdst=0)

5) time.mktime() #将一个struct_time转化为时间戳

In [19]: time.mktime(time.localtime())
Out[19]: 1504768311.0

6) time.asctime([t]) #把一个表示时间的元组或者struct_time表示为这种形式:’Sun Jun 20 23:21:05 2016’。如果没有参数,将会将time.localtime()作为参数传入

In [10]: time.asctime()
Out[10]: 'Thu Sep  7 15:05:10 2017'

7) time.strftime(format[, t])# 把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串。如果t未指定,将传入time.localtime()。如果元组中任何一个元素越界,ValueError的错误将会被抛出。

In [33]: time.strftime("%Y-%m-%d %X", time.localtime())
Out[33]: '2017-09-07 15:24:57'

8)time.ctime([secs]) #把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果参数未给或者为None的时候,将会默认time.time()为参数

In [36]: time.ctime()
Out[36]: 'Thu Sep  7 15:28:35 2017'

In [37]: time.ctime(time.time())
Out[37]: 'Thu Sep  7 15:28:40 2017'

9) time.strptime(string[,format]) #把一个格式化时间字符串转化为struct_time。实际上它和strftime()是逆操作

In [40]: time.strptime('2017-09-07 15:32:36', '%Y-%m-%d %X')
Out[40]: time.struct_time(tm_year=2017, tm_mon=9, tm_mday=7, tm_hour=15, tm_min=32, tm_sec=36, tm_wday=3, tm_yday=250, tm_isdst=-1)

random模块

import random #调用random模块
1) random.random() #用于生成一个0到1的随机符点数: 0 <= n < 1.0

In [68]: random.random()
Out[68]: 0.45576740493927315

In [69]: random.random()
Out[69]: 0.12225825168395976 

In [70]: random.random()
Out[70]: 0.6732475315108625

2) random.uniform(a, b) #生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。

In [71]: random.uniform(5,10)
Out[71]: 6.022391764974091

3)random.randint(a, b) #生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b

In [79]: random.randint(0,3)
Out[79]: 1

In [80]: random.randint(0,3)
Out[80]: 3

4) random.shuffle(),# 用于将一个列表中的元素打乱

In [95]: a = ["westos",1,"haha",22,("ok",1)]
In [96]: random.shuffle(a)
In [97]: print a
['westos', ('ok', 1), 22, 'haha', 1]

5)random.sample(),# 从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列

In [98]: b = [1,2,3,5,6,7,9]

In [99]: c = random.sample(b,3)  #从列表b中随机获取3个元素,作为一个片段返回

In [100]: print c   #查看随机获取的3个元素
[5, 3, 6]

In [101]: print b              
[1, 2, 3, 5, 6, 7, 9]  #原有序列并不会发生改变

6)random.choice() #从序列中获取一个随机元素

In [101]: print b
[1, 2, 3, 5, 6, 7, 9]

In [102]: random.choice(b)
Out[102]: 6

In [103]: random.choice(b)
Out[103]: 5

In [104]: random.choice(b)
Out[104]: 6

7) random.randrange() #从指定范围内,按指定基数递增的集合中 获取一个随机数

In [263]: random.randrange(1,10,2)   # 意为在1到10中以2递增的集合[1,3,5,7,9]中,随机获取一个数字
Out[263]: 9

In [264]: random.randrange(1,10,2)
Out[264]: 7

In [265]: random.randrange(1,10,2)
Out[265]: 5

关于time和random模块的使用方法先介绍这么多,后续更新

你可能感兴趣的:(python中time和random模块的使用)