zoukankan      html  css  js  c++  java
  • 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(' {:3}%'.format(i),end='')

    ⑥     t.sleep(0.2)

    IDLE屏蔽了 的功能

    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('执行结束'))

     

     

     

  • 相关阅读:
    机器学习-线性回归
    机器学习-朴素贝叶斯
    ML-first project
    机器学习-决策树
    当矩阵的秩小于未知数的个数时,方程组有无数个解;当矩阵的秩等于未知数的个数时,方程组只有零解。
    并发编程futuretask
    Java重头学
    InputString 转换成 BufferedImage 和 byte[]
    mysql批量更新
    关于ajax请求数据,并将数据赋值给全局变量的一些解决方法
  • 原文地址:https://www.cnblogs.com/cfqlovem-521/p/11863637.html
Copyright © 2011-2022 走看看