数字类型
Python语言提供整数、浮点数、复数3种数字类型
复数类型
与数学中的复数概念一致, z = a + bj, a是实数部分,b是虚数部分,a和b都是浮点类型,虚数部分用j或者J标识。
对于复数z,可以用z.real获得实数部分,z.imag获得虚数部分。
数字类型的操作
内置的数值运算操作符
内置的数值运算操作符
内置的数值运算函数
内置的数值运算函数
内置的数字类型装换函数
内置的数字类型装换函数
math库的使用
math库的数学常数(共四个)
math库的数学常数
math库的数值表示函数(共16个)
math库的数值表示函数
math的幂对数函数(共8个)
math的幂对数函数
math库的三角运算函数(共16个)
math库的三角运算函数
math库的高等特殊函数(共四个)
math库的高等特殊函数
字符串的操作
转义字符
输出带有引号的字符串,可以使用转义符
转义符
字符串的连接
字符串之间可以通过+或*进行连接
加法操作(+)
将两个字符串连接成一个新的字符串。
乘法操作(*)
生成一个由本身字符串重复连接而成的字符串。
字符串的连接
返回一个字符串的长度
len()
字符串的长度
将数据类型装换为字符串
内置的字符串处理函数
内置的字符串处理方法
字符串类型的格式化
format()函数
输出格式
整数类型
b:输出整数的二进制方式
c:输出整数对应的Unicode字符
d:输出整数的十进制方式
o:输出整数的八进制方式
x:输出整数的小写十六进制方式
X:输出整数的大写十六进制方式
浮点数类型
e:输出浮点数对应的小写字母e的指数形式
E:输出浮点数对应的大写字母E的指数形式
f:输出浮点数的标准浮动形式
%:输出浮点数的百分形式
实例:文本进度条
这是一个利用格式化输出和时间延迟实现控制台风格文本进度条的实例。
基本思想:按照任务执行百分比将整个任务划分为100个单位,每执行N%输出一次进度条。每一行输出包括进度百分比,代表已完成的部分(**)和未完成的部分(..)的两种字符,以及一个跟随完成进度的小箭头(->),分格如下:
1、基本的多行文本进度条
import time
scale=10
print("-------执行开始-------")
for i in range(scale+1):
a,b='**'*i,'..'*(scale-i)
c=(i/scale)*100
print("%{:^3.0f}[{}->{}]".format(c,a,b))
time.sleep(0.1)
print("-------执行结束--------")
注:输出百分比最高(100%)为3位数据,为了使输出显得整齐,可以使用{:^3.0f}格式化百分比部分
2、单行动态刷新
import time
for i in range(101):
print("\r{:2}%".format(i),end=" ")
time.sleep(0.05)
注:
单行刷新原理
在print()函数中跟换end=''实现不换行,此时,系统输出的指针还停留在上一次输出的行尾,下一次输出在字符串前部增加转义符\r,该转义符把输出指针移动到行首而不换行。
此处为什么没有实现动态刷新
这是因为IDLE本身屏蔽了单行刷新功能,如果希望获得刷新效果,请使用控制台命令行执行该程序。
3、带刷新的文本进度条
import time
scale=50
print("执行开始".center(scale//2,'-'))
t=time.clock()
for i in range(scale+1):
a='*'*i
b="."*(scale-i)
c=(i/scale)*100
t-=time.clock()
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,-t),end='')
time.sleep(0.05)
print("\n"+"执行结束".center(scale//2,'-'))