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
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
randint(a, b) | 生成一个[a, b]之间的整数 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] |