首页 > 代码库 > datetime函数和random.seed()函数的应用
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.844421851525
Random number with seed 1 : 0.134364244112
Random 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.884565419178
Random number with当前时间: 0.884565419178
Random number with当前时间: 0.884565419178
总结:可以看出random.seed(datetime.datetime.now())每次输出的结果都不相同
只有在同时输出的结果才会相同,因为“同时”表明时间点是相同的
datetime函数和random.seed()函数的应用