zoukankan      html  css  js  c++  java
  • python奇闻杂技02 time模块,文本进度条示例,数字类型操作,字符串操作

    time模块

    概述:time库是Python中处理时间的标准库,包含以下三类函数

    • 时间获取:
      time(), ctime(), gmtime()
    • 时间格式化:
      strftime(), strptime()
    • 程序计时:
      sleep(), perf_counter()
      

     时间获取:

    import time
    print(time.time())     #获取当前时间戳,即计算机内部时间值,浮点型
    print('-------')
    print(time.ctime())    #获取当前时间并以易读方式表示,返回字符串
    print('-------')
    print(time.gmtime())  #获取当前时间,表示为计算机可处理的时间格式
    
    result:
    1571822780.9567018
    -------
    Wed Oct 23 17:26:20 2019
    -------
    time.struct_time(tm_year=2019, tm_mon=10, tm_mday=23, tm_hour=9, tm_min=26, tm_sec=20, tm_wday=2, tm_yday=296, tm_isdst=0)

    时间格式化:

    1.strftime方法

    t=time.gmtime()
    print(time.strftime("%Y-%m-%d %H:%M:%S",t))

    result:
    2019-10-23 10:15:46

    格式化控制符:

     2.strptime方法:

    timeStr='2019-10-23 10:15:46'
    print(time.strptime(timeStr,"%Y-%m-%d %H:%M:%S"))

    result:
    time.struct_time(tm_year=2019, tm_mon=10, tm_mday=23, tm_hour=10, tm_min=15, tm_sec=46, tm_wday=2, tm_yday=296, tm_isdst=-1)

    文本进度条实例:

    1.文本进度条初版

    import time
    
    count = 10      
    print("-------开始执行-------")
    
    for i in range(count + 1):
        # print(i)
        a = "#" * i
        b = "." * (count - i)
        c = (i / count) * 100
        # print(c)
        print(f"[{a}->{b}]{c:.2f}% ")
        time.sleep(0.1)
        # print(b)
    
    print("-------执行结束-------")

    2.文本进度条优化版

     

    import time
    
    count=100
    print("开始执行".center(50,'-'))        #以开始执行字符为中心,前后23个-
    start = time.perf_counter()             #CPU级别精确计时,时间比time()精确
    
    for i in range(count + 1):
        a='#'*i
        b='.'*(count-i)
        c=(i/count)*100
        res=time.perf_counter()-start       #运行时间
        # print(f"[{a}->{b}]{c}% ")         #C存在二进制无法显示十进制,无线趋近的情况
        print(f"
    [{a}->{b}]{c:.2f}% {res:.2f}s",end="")  #
    覆盖内容;.2f化为小数点后两位会自动四舍五入;把print方法end属性设为空,不换行
        time.sleep(0.1)                     #延时0.1秒
    
    print('
    '+"执行结束".center(50,'-'))

    数字类型及操作:

    1.类型转换

    h = '150.5'
    h = float(h)    #转化为浮点型
    print(type(h))  #打印h变量的类型
    
    result:
    150.5
    <class 'float'>
    h = '150.5'
    h_float = float(h)      
    h_int = int(h_float)    #必须要先转换为浮点型,才能转化为整形
    print(h_int)

    result:
    150

    2.进制间的转换

    a = 28
    print(bin(a))   #转为二进制
    print(oct(a))   #转为八进制
    print(hex(a))   #转为十六进制

    result
    0b11100
    0o34
    0x1c

    字符串操作:

    字符串切片索引顺序:

    年龄判读示例:

    # 让用户输入年龄,判断是否是成年人还是未成年人
    age = input("请输入你的年龄(请输入数字):").strip()      #.strip()删除前后空格字符
    
    if age.isdigit():   #判断字符串是否为数字
        age = int(age)  #把字符转化为整形
        if age < 18:
            print('未成年人')
        elif age >= 18:
            print("成年人")
    else:               #非数字类型字符,报错
        print('输入字符无效')
  • 相关阅读:
    ES6特性
    使用mybatis插件拦截SQL
    前端下载文件的几种方式
    Electron-vue项目使用 Inno Setup 创建安装包
    Windows powershell 常用代码段
    Java8之Predicate, Consumer,Function基础使用
    Java8之Predicate接口使用
    使用Replica Set副本集方式搭建mongodb副本集群
    Typora的一些偏好设置
    使用Typora编写md文档并优雅地上传到博客园
  • 原文地址:https://www.cnblogs.com/ludingchao/p/11728311.html
Copyright © 2011-2022 走看看