03. Python 基本数据类型

2019-02-28  本文已影响13人  acc8226

整数类型

4种进制表示形式

浮点数类型

与数学中实数的概念一致

浮点数间运算存在不确定尾数,不是bug
结果无限接近0.3,但可能存在尾数

解决办法: 使用round函数
浮点数间运算存在不确定尾数
>>> 0.1 + 0.2 == 0.3
False
>>> round(0.1+0.2, 1) == 0.3
True

round(x, d):对x四舍五入,d是小数截取位数

科学计数法表示
复数类型

z = 1.23e-4+5.6e+89j

数值运算操作符

数字类型的关系

类型间可进行混合运算,生成结果为"最宽"类型

数值运算函数

字符串类型及操作

字符串的序号

使用[ ]获取字符串中一个或多个字符

字符串的特殊字符

一些以函数形式提供的字符串处理功能
Unicode编码

使用string的format函数常用到中文空格' ', 它的Unicode的十六进制形式为为hex3000, 十进制形式为dec12288, 在python的3.x平台可以表示为 chr(12288)

字符串处理方法

字符串类型的格式化

字符串格式化使用.format()方法,用法如下:
<模板字符串>.format(<逗号分隔的参数>)


time库基本介绍

time库包括三类函数

获取时间

时间格式化

time.strptime(str, tpl)

程序计时

程序计时应用广泛

文本进度条"简单的开始

手动命令行执行python文件
  1. 找到安装路径C:\Users\hp\AppData\Local\Programs\Python\Python35


  2. 控制面板\系统和安全\系统 高级系统设置 Path变量增加一个值


    image.png
#TextProBar.py
import time
strWidth = 20
scale = 50
start = time.perf_counter()
print("执行开始".center(strWidth, '-'))
for i in range(scale + 1):
    progress = i * 100 / scale
    a = '*' * i
    b = '.' * (scale - i)
    dur = time.perf_counter() - start
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(progress, a, b, dur), end="")
    time.sleep(0.1)
print("\n" + "执行结束".center(strWidth, '-'))
进度条应用
Harrison C. et al. Rethinking the Progress Bar. In ACM Symposium on User Interface Software and Technology, 2007

文本进度条的不同设计函数



结论: 先慢后快的方式更迎合人们

#TextProBar.py 改进版
import time
strWidth = 20
scale = 50
start = time.perf_counter()
print("执行开始".center(strWidth, '-'))
for i in range(scale + 1):
    # 采用fast power函数, 增强用户体验
    precent = i / scale
    newPrecent = (precent + (1 - precent) / 2) ** 8
    progress = precent * 100
    starCount = int(scale * precent)
    a = '*' * starCount
    b = '.' * (scale - starCount)
    dur = time.perf_counter() - start
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(progress, a, b, dur), end="")
    time.sleep(0.20)
print("\n" + "执行结束".center(strWidth, '-'))
上一篇下一篇

猜你喜欢

热点阅读