python day 6 time 库

Python day 6 time

  1. 最基本的处理时间的标准库,

(1) 可用于计算机时间的表达

(2) 获取系统时间,格式化输出时间

(3) 精确计时功能,可用于程序性能分析

  1. 三类函数

(1) 时间获取:time()  ctime()  gmtime()  

(2) 时间格式化: strftime()  strptime()

(3) 程序计时 sleep()  perf_counter()

  1. 时间获取

(1) 都是无参数的

(2) Time()获取当前的时间戳,是一个很长的浮点数,

1573730037.1486392

(3) Ctime()获得一个易理解的字符串时间 星期-月份-日期-时分秒-年份

'Thu Nov 14 19:15:18 2019'

(4) Gmtime()生成一种计算机能够处理的时间格式

time.struct_time(tm_year=2019, tm_mon=11, tm_mday=14, tm_hour=11, tm_min=17, tm_sec=6, tm_wday=3, tm_yday=318, tm_isdst=0)

  1. 时间输出格式化

(1) 类似字符串输出格式化,需要有展示模板,展示模板由特定的格式化控制符组成

(2) Strftime(tpl,ts) 方法

tpl是字符串,是下文提到的时间控制符

ts 是计算及内部时间类型变量

(3) Strptime(str,tpl)方法

Str是字符串形式的时间

Tpl是时间控制符

Import time as t

a = t.gmtime()

>>> t.strftime('%Y-%m-%d %H:%M:%S',a)

'2019-11-14 11:38:58'

(4) 时间控制符

① %Y 年份

② %m 月份         数字

③ %B 月份名称      英文

④ %b 月份缩写      英文缩写

⑤ %A 星期          英文

⑥ %a 星期缩写      英文缩写

⑦ %H 小时          二十四小时制

⑧ %I  小时          十二小时制

⑨ %p                AM/PM

⑩ %M 分钟          数字

⑪ %S  秒            数字

  1. 时间测量

(1) 精准测量时间perf_counter() 以纳秒为单位

类似于时间戳,计算差值以测量时间

start = t.perf_counter()

>>> end  = t.perf_counter()

>>> end-start

14.1491517999998

在赋值的一瞬间,函数完成了他的使命

(2) 程序计时 应用广泛

(3) Sleep(s) 让程序休眠s

import time as t

def wait():

t.sleep(3.3)

wait()

print('sjdk')

 

  1. 实例:文本进度条

(1) 要求:采用字符串方式 打印可以动态变化的文本进度条 进度条需要能在一行中逐渐变换

(2) 简单的开始

import time

scale = 10

print('-------开始执行---------')

for i in range(scale+1):

    a = '*'*i

    b = '.'*(scale-i)

    c = (i/scale)*100

    print('{:^3.0f}%[{}->{}]'.format(c,a,b))

    time.sleep(0.1)

print('{:-^20}'.format('执行结束'))

 

-------开始执行---------

 0 %[->..........]

10 %[*->.........]

20 %[**->........]

30 %[***->.......]

40 %[****->......]

50 %[*****->.....]

60 %[******->....]

70 %[*******->...]

80 %[********->..]

90 %[*********->.]

100%[**********->]

--------执行结束--------

(3) 单行动态刷新

① 刷新的本质:用之后打印出来的字符覆盖之前的字符

② 所以不能换行,而且要能让光标退回原来的位置

 import time as t

④ for i in range(101):

⑤     print('\r{:3}%'.format(i),end='')

⑥     t.sleep(0.2)

IDLE屏蔽了\r的功能

cmd中运行得进度百分比递增刷新效果

(4) 完整效果

import time

scale = 10

print('-------开始执行---------')

for i in range(scale+1):

    a = '*'*i

    b = '.'*(scale-i)

    c = (i/scale)*100

    print('{:^3.0f}%[{}->{}]'.format(c,a,b))

    time.sleep(0.1)

print('{:-^20}'.format('执行结束'))

 python day 6 time 库_第1张图片

 

 

 python day 6 time 库_第2张图片

 

 

 

 

 

 

你可能感兴趣的:(python day 6 time 库)