time模块和random模块

time模块

1.time.time()返回当前的时间戳(1970年后经过的秒数以浮点数表示)

1 import time
2 print(time.time())

结果:

1532613085.084711

今天的日期是2018/7/26,该浮点数就是从1970(UNIX诞生年)年到现在这个时刻的秒数

2.time.localtime()格式化时间戳为本地时间,如果没有参数传入的话,以本地时间为准,若有参数(秒数)传入,则会转换这个秒数为结构式的时间表示方式。

1 import time
2 print(time.localtime())
3 print(time.localtime(1532613389))

结果:

time.struct_time(tm_year=2018, tm_mon=7, tm_mday=26, tm_hour=21, tm_min=59, tm_sec=52, tm_wday=3, tm_yday=207, tm_isdst=0)
time.struct_time(tm_year=2018, tm_mon=7, tm_mday=26, tm_hour=21, tm_min=56, tm_sec=29, tm_wday=3, tm_yday=207, tm_isdst=0)

3.time.strftime()函数接受以时间元组,并返回以可读字符串表示当地时间。

 1     %y 两位数的年份表示(00-99 2     %Y 四位数的年份表示(000-9999 3     %m 月份(01-12 4     %d 月内中的一天(0-31 5     %H 24小时制小时数(0-23 6     %I 12小时制小时数(01-12 7     %M 分钟数(00=59 8     %S 秒(00-59 9     %a 本地简化星期名称
10     %A 本地完整星期名称
11     %b 本地简化的月份名称
12     %B 本地完整的月份名称
13     %c 本地相应的日期表示和时间表示
14     %j 年内的一天(001-36615     %p 本地A.M.或P.M.的等价符
16     %U 一年中的星期数(00-53)星期天为星期的开始
17     %w 星期(0-6),星期天为星期的开始
18     %W 一年中的星期数(00-53)星期一为星期的开始
19     %x 本地相应的日期表示
20     %X 本地相应的时间表示
21     %Z 当前时区的名称
22     %% %号本身
1 import time
2 print (time.localtime())
3 print (time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))
4 print (time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()))

结果:

time.struct_time(tm_year=2018, tm_mon=7, tm_mday=26, tm_hour=22, tm_min=3, tm_sec=41, tm_wday=3, tm_yday=207, tm_isdst=0)
2018-07-26 22:03:41
Thu Jul 26 22:03:41 2018

4.time.asctime() 函数接受时间元组并返回一个可读的形式(格式固定)为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。

1 import time
2 print(time.asctime(time.localtime()))

结果:

Thu Jul 26 22:07:10 2018

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

1 import time
2 print(time.ctime(1532614196.0322936))
3 print(time.ctime())

结果:

Thu Jul 26 22:09:56 2018
Thu Jul 26 22:10:11 2018

6.time.sleep()延迟程序的执行

1 import time
2 start_time = time.time()
3 time.sleep(5)
4 stop_time = time.time()
5 print(stop_time - start_time)

结果:

5.000237464904785

random模块

1.random.random()返回一个介于[0.0,1.0)区间的浮点数

2.random.uniform(a, b) 返回一个介于a和b之间的浮点数。如果a>b,则是b到a之间的浮点数。这里的a和b都有可能出现在结果中。

3.random.sample(population, k) 从population样本或集合中随机抽取K个不重复的元素形成新的序列。常用于不重复的随机抽样。返回的是一个新的序列,不会破坏原有序列。要从一个整数区间随机抽取一定数量的整数,请使用sample(range(10000000), k=60)类似的方法,这非常有效和节省空间。如果k大于population的长度,则弹出ValueError异常。

4.random.randint()返回起始值到终值的中间的任何一个整数

5.random.shuffle()打乱序列中的顺序

6.random.randrange(a,b)返回[a,b)中间的任何一个整数

练习:制作一个由数字和字母组成的四位的验证码

 1 import random
 2 res = ''
 3 for i in range(4):
 4     num = random.randint(0, 9)
 5     ch1 = chr(random.randint(65, 90))
 6     ch2 = chr(random.randint(97, 122))
 7     s = random.choice([num, ch1, ch2])
 8     res += str(s)
 9 
10 print(res)

结果:

1 sJ65
2 1X0P
3 Hq51
4 7kzy
5 XEk4

取了五次的实验结果。

猜你喜欢

转载自www.cnblogs.com/hexiaoqi/p/9374881.html