datetime函式和random.seed()函式的應用
一,datetime
在python中datetime是一個庫是一個模組也是一個函式,作用很多,這裡面只對其做簡單的最常用的講解。
首先返回系統時間
import datetime
nowTime=datetime.datetime.now()
print nowTime
輸出結果是: 2016-11-04 14:27:09.538000
返回當天日期
Today=datetime.date.today()
print Today
輸出的結果是:2016-11-04
時間間隔(這是一個time模組很有用的)
import time
def sleeptime(hour,min,sec):
return hour*3600+min*60+sec;
sleep_time=sleeptime(0,0,5);
while 1==1:
time.sleep(sleep_time);
print "每隔5秒顯示一次"
輸出結果是:
每隔5秒顯示一次
每隔5秒顯示一次
每隔5秒顯示一次
:
:
:
二,random.seed()
random.seed()是隨機數種子,也就是為隨機數提供演算法,完全相同的種子產生的隨機數列是相同的,
所以如果想產生不同的隨機數就需要用當前時間作為種子
import random
random.seed(0)
print "Random number with seed 0 : ", random.random()
輸出結果:Random number with seed 0 : 0.844421851525
random.seed(0)
print "Random number with seed 0 : ", random.random()
輸出結果:Random number with seed 0 : 0.844421851525
random.seed(0)
print "Random number with seed 0 : ", random.random()
輸出結果:Random number with seed 0 : 0.844421851525
以下為同時執行三個相同的隨機種子
random.seed(0)
print "Random number with seed 0 : ", random.random()
random.seed(0)
print "Random number with seed 0 : ", random.random()
random.seed(0)
print "Random number with seed 0 : ", random.random()
輸出結果:是相同的
Random number with seed 0 : 0.844421851525
Random number with seed 0 : 0.844421851525
Random number with seed 0 : 0.844421851525
以下為同時執行三個不同的隨機種子
random.seed(0)
print "Random number with seed 1 : ", random.random()
random.seed(1)
print "Random number with seed 2 : ", random.random()
random.seed(2)
print "Random number with seed 2 : ", random.random()
輸出結果:是不同的
Random number with seed 0 : 0.844421851525Random number with seed 1 : 0.134364244112Random number with seed 2 : 0.956034271889
所以如果想產生不同的隨機數就需要用當前時間作為種子
即:
random.seed(datetime.datetime.now())
print "Random number with當前時間: ", random.random()
輸出結果:Random number with當前時間: 0.219216629629
random.seed(datetime.datetime.now())
print "Random number with當前時間: ", random.random()
輸出結果:Random number with當前時間: 0.698622464392
random.seed(datetime.datetime.now())
print "Random number with當前時間: ", random.random()
輸出結果:Random number with當前時間: 0.909038313683
random.seed(datetime.datetime.now())
print "Random number with當前時間: ", random.random()
random.seed(datetime.datetime.now())
print "Random number with當前時間: ", random.random()
random.seed(datetime.datetime.now())
print "Random number with當前時間: ", random.random()
輸出結果:結果相同
Random number with當前時間: 0.884565419178Random number with當前時間: 0.884565419178Random number with當前時間: 0.884565419178
總結:可以看出random.seed(datetime.datetime.now())每次輸出的結果都不相同
只有在同時輸出的結果才會相同,因為“同時”表明時間點是相同的