基本图数据类型(三)

本文是PythonMOOC学习笔记的第三部分,主要介绍了Python中的基本图数据类型,包括浮点数的运算特性、字符串操作以及时间处理函数。通过实例解析了浮点数的不确定尾数问题,展示了如何使用round函数进行精确比较。此外,还详细阐述了字符串的多种操作方法,如连接、复制、查找、转换等,并讲解了time库的使用,包括获取当前时间、格式化时间以及程序计时和休眠功能。
摘要由CSDN通过智能技术生成

PythonMOOC学习笔记(三)

Python语言程序设计
北京理工大学 嵩天等
http://Python123.io 练习编程

第三周(基本图数据类型)

  1. 浮点数间运算存在不确定尾数,不是bug
    0.1+0.2 0.30000000004
    计算机中浮点数用二进制表示,而二进制和十进制数不能全部对等,0.1只能用很接近的二进制数表示。
  2. round(x[,d]): 对x四舍五入,d是小数截取位数
    浮点数间运算比较用round函数辅助
    不确定尾数一般发生在10的-16次左右,round十分有效
  3. < a > e < b > 表示a乘以10的b次方
  4. z.real 获得实部 z.imag 获得虚部
  5. x/y 是浮点数。x//y 是整数除。
  6. x**y 表示x的y次幂
  7. x op= y 即x = x op y
  8. pow(x,y[,z]) 表示 (x**y)%z 余
  9. 字符串:正向递增序号,反向递减序号,<字符串>[M:N:K]
  10. +(连接两个字符), *(复制n次),in(x in y x是否在y中), len()(长度), str()(转化为字符串), hex()(把整数x的16进制写为小写字符串), oct()(整数x的八进制写为小写字符串), ord()(将字符返回Unicode形式), chr()(将Unicode转为字符形式)
  11. str.upper(); str.lower; str.count(); str.split(); str.replace()
  12. .format() “{0:=^20}”.format(“Python”) 位置,引导符号,填充,对齐(居中。<左对齐,>右对齐),输出宽度。
  13. .format() “{0:,.2f}”.format(12345.6789) 位置。引导符号,数字的千位分隔符,浮点数精度(字符串最大输出长度),整数类型(b,c,d,o,x,X)浮点数类型(e,E,f,%)
  14. time库
  15. import time 格式:time.< b >() 例子:time.time(), time.ctime(), time.gmtime()
  16. 格式化时间: strftime(tpl,ts) 例子:t = time.gmtime() time.strftime("%Y-%m-%d %H:%M:%S",t) 输出 ‘2018-01-26 12:55:20’
  17. 字符转为时间 timeStr = ‘2018-01-26 12:55:20’ time.strptime(timeStr,"%Y-%m-%d %H:%M:%S")
  18. 程序计时:start = time.perf_counter() end = time.perfcounter() end - start
  19. 程序休眠:time.sleep()
>>>def wait():
           time.sleep(3.3)
>>>wait() #程序将等待3.3秒后再运行
  1. 文本进度条
import time
scale = 10
print("-----执行开始-----")
for i in range(scale+1):
    a =  i*10
    b = '*'*i
    c = '.'*(scale-i)
    print("{0:<3d}%[{1}->{2}]".format(a,b,c))
    #a = (i/scale)*100
    #print("{0:<3.0f}%[{1}->{2}]".format(a,b,c))  3是宽度 0是精度
    time.sleep(0.1)
print("-----执行结束-----")
  1. 单行动态刷新
    执行方法:win+r 然后输入 cmd 然后再输入路径回车
#单行动态刷新(在IDLE 中不会出现 \r 功能)
import time
for i  in range(101):
     print("\r{:3}%".format(i),end="") # \r 使得光标回到行首;end="" 使得print 不换行
     time.sleep(0.1)
#在IDLE中运行不会出现 \r 的效果所以需要在其他里运行, win + r -> cmd -> 路径 -> enter 
import time
scale = 50
print("执行开始".center(scale//2,'='))
time_start = time.perf_counter()
for i  in range(scale+1):
    a = (i/scale)*100
    b = '*'*i
    c= '.'*(scale-i)
    dur = time.perf_counter() - time_start
    print("\r{:<3.0f}%[{}->{}]{:>5.3f}s".format(a,b,c,dur),end="")
    time.sleep(0.1)
print("\n"+"执行结束".center(scale//2,'='))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值