Time 库 和 random 库 的常用函数

Time 库常用的函数

时间获取

time() ctime() gmtime()

time()返回的是从1970年一月一日0点到现在经过的时间以秒为单位

ctime()返回的是当前格林尼治时间

gmtime()返回的是一长串struct_time

测试例子

import time
a=time.time()
print(a)
a=time.ctime()
print(a)
a=time.gmtime()
print(a)

输出

1591257424.9218273
Thu Jun  4 15:57:04 2020
time.struct_time(tm_year=2020, tm_mon=6, tm_mday=4, tm_hour=7, tm_min=57, tm_sec=4, tm_wday=3, tm_yday=156, tm_isdst=0)

 

时间格式化

strftime()  strptime()

strftime()函数接收以时间元组,并返回以可读字符串表示的当地时间,格式由参数format决定

strptime()函数根据指定的格式把一个时间字符串解析为时间元组

import time

t = (2020, 6, 4, 16, 12, 38, 1, 48, 0)
t = time.mktime(t)
print (time.strftime("%b %d %Y %H:%M:%S", time.gmtime(t)))

 Jun 04 2020 08:12:38

import time 
struct_time = time.strptime("30 Nov 00", "%d %b %y")
print "返回的元组: %s " % struct_time


返回的元组: time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1) 

程序计时

sleep()  perf_counter()

sleep(s) s是秒数,执行此条语句时睡眠s秒

import time
 
print ("Start : %s" % time.ctime())
time.sleep( 5 )
print ("End : %s" % time.ctime())

Start : Thu Jun  4 16:21:51 2020
End : Thu Jun  4 16:21:56 2020

 

perf_counter()

import time

scale = 50 

print("执行开始".center(scale//2,"-"))  # .center() 控制输出的样式,宽度为 25//2,即 22,汉字居中,两侧填充 -

start = time.perf_counter() # 调用一次 perf_counter(),从计算机系统里随机选一个时间点A,计算其距离当前时间点B1有多少秒。当第二次调用该函数时,默认从第一次调用的时间点A算起,距离当前时间点B2有多少秒。两个函数取差,即实现从时间点B1到B2的计时功能。
for i in range(scale+1):   
    a = '*' * i             # i 个长度的 * 符号
    b = '.' * (scale-i)  # scale-i) 个长度的 . 符号。符号 * 和 . 总长度为50 
    c = (i/scale)*100  # 显示当前进度,百分之多少
    dur = time.perf_counter() - start    # 计时,计算进度条走到某一百分比的用时
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')  # \r用来在每次输出完成后,将光标移至行首,这样保证进度条始终在同一行输出,即在一行不断刷新的效果;{:^3.0f},输出格式为居中,占3位,小数点后0位,浮点型数,对应输出的数为c;{},对应输出的数为a;{},对应输出的数为b;{:.2f},输出有两位小数的浮点数,对应输出的数为dur;end='',用来保证不换行,不加这句默认换行。
    time.sleep(0.1)     # 在输出下一个百分之几的进度前,停止0.1秒
print("\n"+"执行结果".center(scale//2,'-'))

 

-----------执行开始----------
24 %[************->......................................]1.24s

Random 库常用函数

 


 

randint(a, b)

生成一个[a, b]之间的整数
>>>random . randint(10, 100)

64

randrange(m, n[ k])生成一一个[m, n)之间以k为步长的随机整数
>>>random. randrange(10, 100, 10)
80
getrandbits(k)生成一个k比特长的随机整数
>>>random. getrandbits(16)
37885
uniform(a, b)生成一个[a, b]之间的随机小数
>>>random . uniform(10,100)
13.096321648808136
choice(seq)从序列seq中随机选择一个元素
>>>random. choice([1,2,3,4,5,6,7,8,9])
8
shuffle(seq)将序列seq中元素随机排列,返回打乱后的序列
>>>s=[1,2,3,4,5,6,7,8,9];random. shuffle(s);print(s)
[3,5,8,9,6,1,2,7,4]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值