一、数字类型
(一)整数类型int(integer)
int与数学中的整数概念一致
特点:可正可负,没有取值范围
整数有四种表示形式:
十进制,没有引导符号:10, 88,-485
二进制,以0(零)b或0B开头:0b010, -0B101
八进制,以0(零)o(英文字母o)或0O开头:0o123, -0o456
十六进制,以0(零)x(英文字母x)或0X开头::0x9a,-0X89
各种进制相互转换函数
十进制int(), 八进制oct(), 十六进制hex()
注:默认情况,整数采用十进制,其他进制需要增加引导符号
不同进制的整数之间可以直接运算或比较,程序无论采用何种进制表达数据,进制之间的运算结果默认以十进制方式显示。
(二)浮点数类型float
与数学中的实数概念一致,特点:
浮点数必须带有小数(小数部分可以是零)
浮点数取值范围和小数精度都存在限制
浮点数取值范围约为-10的308次方到10的308次方,小数精度可以达到10的-16次方,常规计算可以忽略限制
浮点数之间的运算存在不确定尾数,但不是bug。可以通过round()进行处理
round(x,d):对x四舍五入,d是小数截取位数
浮点数有两种表示形式
十进制形式的一般表示法,使用小数点
科学计数法表示,使用字母e或E作为幂的符号,以10为基数
(三)复数类型complex
与数学中的复数一致。Python中,复数可以看作是二元有序实数对(a,b),表示a+bj,其中a是实数部分,简称实部,b是虚数部分,简称虚部。
虚数部分通过后缀"J"或"j"来表示,需要注意,当b为1时,1不能省略,即1j表示复数,而j表示Python程序中的一个变量。
复数类型中实部和虚部都是浮点类型。
使用pow()对复数取根,得到的就是复数
二、数值运算操作符
加减乘除与数学含义相同
- 模运算(%)在编程中十分常见,主要应用于具有周期规律的场景。本质上,整数的模运算n % m能够将整数n映射到[0,m-1]的区间中。
– 例如:一个星期7天,用day代表日期,则day % 7可以表示星期几,如0代表星期日,1代表星期一等。
– 例如:对于一个整数n, n % 2 的取值是0或者1,可以用于判断整数n的奇偶性。
数值运算可能改变结果的数据类型,类型的改变与运算符有关:
– 整数和浮点数混合运算,输出结果是浮点数
– 整数之间运算,产生结果类型与操作符有关,除法运算(/)的结果是浮点数
整数或浮点数与复数运算,输出结果为复数
运算操作符可与赋值等号相连,形成增强赋值操作符:
x op = y等价于x=x op y
增强操作符能够简化对同一变量赋值语句的表达
增强操作符中op和=之间不能增加空格
三、数值运算函数
函数不同于操作符,其表现为对参数的特定运算,Python内置函数中与数值运算有关的函数:
int()不四舍五入,直接舍弃掉小数部分
pow()参数不同,结果分别为整数,开方,复数
注意:round(x[,d])对整数或浮点数x进行四舍五入运算,“四舍五入”只是一个约定说法,并非所有的.5都会被进位。
对于x.5,当x为偶数时,x.5并不进位,round(0.5)=0
当x为奇数时,x.5进位,round(1.5)=2
这是由于x.5严格处于两个整数之间,从“平均价值”角度考虑,将所有x.5情况分两类,采用“奇进偶不进”的方式运算。
但对于x.50001这种非对称情况,则按照进位法则处理。
int()直接去掉小数部分,不进行运算
int(x),如果x是字符串,直接返回去掉引号的里面内容,如果里面内容是非整数,会报错