整数类型(范围无限制)

十进制1 -1

二进制0b1 -0b1

八进制0o1 -0o1

十六进制0x1 -0x1

浮点类型(范围有限制但可忽略)

运算存在不确定尾数 :0.1+0.2!=0.3

原因:二进制表示小数可以无限接近但不能完全相同,转换过程中产生不确定小数

如何避免:浮点数键运算及比较用round()函数进行辅助 round(x, d)#对x进行四舍五入,d是截取小数位数

浮点数的科学计数法表示 e # a*10^b

数值运算操作符

10/3 = 3.3333
10//3 = 3
x**y #x^y

类型间的混合运算:生成结果最宽类型 复数>浮点数>整数 123

数值运算函数

绝对值 abs()

商余 divmod(x,y) 输出(商,余数)

幂余 pow(x,y[, z])输出 ( x**y)%z 求x**y的最后几位

四舍五入 round(x [ , d]) x保留d位小数,默认d为0

最大最小值 max/min(x1,x2,x3,..)

强制转换 int(小数、字符串) 直接舍弃小数

float(整数、字符串) 为整数加上小数部分

字符串类型

表示方法:

1)一对单引号、一对双引号,仅表示单行字符串

2)一对三单引号、或三双引号,表示多行字符串

字符串的序号(两种序号在一个字符串中同时存在):正向递增 反向递减(最后一个-1,向左为-2,-3,、、)

字符串的索引和切片

索引 "你好啊"【0】 或str【0】

切片(slice)(copyright: )

切片操作(slice)可以从一个字符串中获取子字符串(字符串的一部分)。起始偏移量start、终止偏移量end 、可选的步长step 定义一个分片。

格式: [start:end:step]

[:] 提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串
[start:] 从start 提取到结尾
[:end] 从开头提取到end - 1
[start:end] 从start 提取到end - 1
start:end:step] 从start 提取到end - 1,每step 个字符提取一个

特殊:倒转字符串将字符串倒转(reverse), 通过设置步长为负数:[ : :-1]

字符串运算的操作符:

x+y:链接两个字符串

n*x或x*n:复制n次字符串x

x in s:x是否为s的子串,返回true or false

字符串处理函数

len(x) :字符串x的长度,并且一个汉字和一个英文字母长度都为1

str(x):字符串强制类型转换,任意类型x转换为字符串 ====与eval()相反

hex(x) 与 oct(x) :将x转换为八进制与十六进制形式

chr(u):x为Unicode编码,返回其对应的字符

ord(x):x为字符,返回对应的Unicode编码

注:Python统一使用Unicode编码

str.lower() str.upper()
str.split(" ")
str.count("a")
str.replace(old,new)
str.center(width[,fillchar])
str.strip("=pn"_
str.join("1234") str join 到 "1234‘’中

字符串输出的格式化

槽:“ < { } { } >”.format("ch1","ch2)

槽中的格式控制参数

time库:

处理时间的标准库

时间获取:

time() #获取时间戳:一个浮点数,从1970年开始的以秒为单位的时间间隔
ctime() #获取一可读的字符串 Mon May 14 22:51:40 2018
gmtime() #其他程序可利用的时间格式 time.struct_time(tm_year=2018, tm_mon=5, tm_mday=14, tm_hour=14, tm_min=52, tm_sec=25, tm_wday=0, tm_yday=134, tm_isdst=0)

时间格式化:

将时间以合理的方式展示出来

strftime(tpl,ts) #tpl是输出格式模板(字符串)str是gmtime()

tpl中的控制符:

%Y年份,%m月份,%B月份名称,%b月份名称缩写。。。

程序计时:

测量时间 perf_counter() #返回CPU级别的精确时间计数值,单位为秒,差值有意义

休眠时间 time.sleep(time) #停滞t秒

实例:

文本进度条的生成

import time
print("---执行开始---")
scale= 10start=time.perf_counter()for i in range(scale+1):
du= time.perf_counter()-start
a=‘*‘*i
b="."*(scale-i)
c=(i/scale)*100print("\r{:>3.0f}%[{}->{}]{:.2f}s".format(c,a,b,du),end=" ")
time.sleep(0.32)

控制print函数

\r 光标退回当前行行首

print(< 字符串 >,end="打印结束字符“>

注意,在idle为了显示完整信息自动屏蔽\r, py文件要在命令行中运行