一 整数、浮点数、复数
1. 整数
四种进制:二(0b|0B)、八(0o|0O)、十、十六(0x|0X) 进制
理论取值范围:无限
实际:看电脑
pow( x , y [ , z ] ):x的y次幂,再对z取余,即 (x**y) %z
mod 是数学符号,取余的意思
2. 浮点数
带有小数的数值,存在不确定尾数,所以其无法极高精度的数学运算;所以对于小数的运算,可先将其转换为整数,再进行运算,最后再转换成小数
有十进制和科学计数法两种表示方法
例:4.3e-3,9.6e+5
round( x [ , d ] ) 对x四舍五入,d省掉==取整
3. 复数
c=a+bj
c.real 实部 c.imag 虚部 都是浮点类型
二 数字类型的操作
1.
+、-、*、/、//、%、* *、
x+=y 等价于 x=x+y
数字类型之间的运算所产生的结果是 ‘更宽’ 的类型
例:4/2.0=2.0
2.
abs() 绝对值
max(x,y,z,a,b.....) min(x,y,z,a,b.....)
divmod(x,y) 商余 (x//y , x%y)
3.
int(x) 不对x小数部位进行四舍五入,直接舍去
float(x)
complex(x [ , im ]) x为实部,im为虚部 : x可以是整数、浮点数、字符串,im可以是整数、浮点数,不能为字符串
例:complex('12+5j ') 会变成 12+5j
4.
math库
math.pi pi值
math.e 自然对数e , 2.718......
math.ceil 向上取整
math.floor 向下取整
math.fsum([0.1,0.2,0.3]) 得0.6 比直接加控制了尾数(0.6000000000000001)
三 字符串类型及操作
字符串以Unicode 编码进行存储,所以字符串的英文字符和中文字符都算作一个字符(8bit)
可对其进行索引、切片
转义符 :
\b(回退) \n \r(回行首) \t ( 水平制表符,有点相当于 Tab 键) \v ( 垂直制表符 ) \f (换页)
字符串操作:
x+y
x*n n为整数
x in s
len(x) 、str()、eval()
chr(u)、ord(x) Unicode编码(utf-8、utf-16、utf-32)与字符串的转变
字符串处理方法:
str.lower()
str.upper()
str.split()
str.rsplit('/',maxsplit=1) #从右开始分割,如果想要最后几个字符,会分割得更快
str.count('a')
str.replace(old, new)
str.translate()
例子: 映射替换,模板化,低耦合
'''
ins='abcd'
outs='1234'
zhuan=str.maketrans(ins,outs)
li='abcd 1234 abcd'
print(li.translate(zhuan))
'''
str.center(width[, fillchar])
str.strip()
str.join(a) #a可以为字符串(每个字符后面都加),也可以为列表
字符串的格式化:
format()方法
'{0:=^30}'.format() #默认左对齐,填充为空格,第一个0为format里面对应位置变量,有多个可写1、2、3等,
#=为填充符号,< ^ > 分别为左中右对齐 ,30为宽度(占多少个位置)
千位分隔符
‘{0:20,}’.format(123456789)
得到:123,456,789
输出类型
'{0:.2e},{0:.2E},{0:.2f},{0:.2%}'.format(3.14).pr
得到:3.14e+00,3.14E+00,3.14,314.00%
类似format的方法
# 延用的c语言的
print("I love %s" % 'you') #I love you
print('我 用 %s--%d年' % ('Python', 3)) #我 用 Python--3年,%s是字符串,%d为数字,同时有多个的话要用括号括起来
# 新版本的
print(f"I love {'you'}")
a='you'
print(f"I love {a}")