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])
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模組的使用方法先介紹這麼多,後續更新