一、数字类型
(1)整数类型
一般认为整数类型没有取值范围限制。
整数类型有4种进制表示:十进制、二进制、八进制和十六进制
进制种类 | 引导符号 |
十进制 | 无 |
二进制 | 0b或0B |
八进制 | 0o或0O |
十六进制 | 0x或0X |
程序无论采用何种进制表达数据,计算机内部都可以以相同的二进制格式存储数值,但为了易于理解,进制之间的运算结果默认以十进制方式显示。
(0x3F2+1010)/0o1762
2.0
0b1010+0x1010+0o1010+1010
5652
0x1010>0o1010
True
0x1010==4112
True
(2)浮点数类型
Python语言中的浮点数类型必须带有小数部分,小数部分可以是0.
浮点数有两种表示方式:十进制形式的一般表示和科学计数法表示。
提示:整数和浮点数
1010和1010.0值虽然相等,但进行幂运算的结果却可能不同。可以看出整数的运算精度比浮点数更高。
pow(1010,32)
1374940678531097054162291350571104044956417832049380936096496320100000000000000000000000000000000
pow(1010.0,32)
1.3749406785310972e+96
(3)复数类型
Python语言中,复数可以看作是二元有序实数对(a,b),表示a+bj。当b为1时,1不可以省略,即1j表示复数,而j则表示Python程序中的一个变量。
复数类型中实部和虚部都是浮点类型,对于复数z,可以用z.real和z.imag分别获得它的实数部分和虚数部分。
(1.23e4+5.67e4j).real
12300.0
(1.23e4+5.67e4j).imag
56700.0
1.23e4+5.67e4j.imag #先获得5.67e4的虚部,在与1.23e4进行求和计算
69000.0
二、数字类型运算
(1)数值运算操作符
九个基本数值运算操作符。
+ | - | * | / | // | % | -x | +x | ** |
和 | 差 | 积 | 商,结果为浮点数 | x与y之间的整数商, 即,不大于x与y之间商的最大整数 | 余数,也称模运算 | x的y次幂 |
模运算:本质上,整数模运算n%m能将整数n映射到[0,m-1]的区间中,获得边界可控的数值范围。
数值运算可能改变结果的数据类型,有如下基本规则:
*整数和浮点数混合运算,输出结果是浮点数
*整数之间运算,产生结果类型与操作符相关,除法运算的结果是浮点数
*整数或浮点数与复数运算,输出结果是复数
1010/10
101.0
1010.0//3
336.0
1010.0%3
2.0
10-(1+1j)
(9-1j)
所有二元运算操作符都可以和赋值符号(=)相连,形成增强操作符(+=,-=,*=,/=,//=,%=,**=).
用op表示这些二元运算操作符。
x op=y等价于x=x op y
x=99
x**=3
print(x)
970299
x+=1
print(x)
970300
x%=88
print(x)
12
提示:op和=之间不能增加空格
(2)数值运算函数
函数 | 描述 |
abs(x) | x的绝对值 |
divmod(x,y) | (x//y,x%y),输出为二元组形式(也称为元组类型) |
pow(x,y)或pow(x,y,z) | x**y或(x**y)%y,幂运算 |
round(x)或round(x,d) | 对x四舍五入,保留d位小数,无参数d则返回四舍五入的整数值 |
max(x1,x2,...,xn) | x1,x2,...,xn的最大值,n没有限定,可以任意数量 |
min(x1,x2,...,xn) | x1,x2,...,xn的最小值,n没有限定,可以任意数量 |
1、abs(x)
abs(x)用于计算整数或浮点数x的绝对值,结果为非负整数。也可计算复数的绝对值,由于实部和虚部都是浮点数,所以复数的绝对值也是浮点数。
abs(-30)
30
abs(1+1j)
1.4142135623730951
2、divmod(x,y)
divmod(x,y)用于计算x和y的除余结果,返回两个值,分别是:x与y的整数除即x//y,以及x与y的余数,即x%y。返回的两个值组成了一个元组类型。可以通过赋值方式将结果同时反馈给两个变量。
divmod(100,6)
(16, 4)
a,b=divmod(100,6)
a
16
b
4
3、pow(x,y)
pow(x,y)用来计算x的y次幂,与x**y相同。pow(x,y,z)则用来计算(x^y)%z,模运算和幂运算同时进行,速度更快。
pow(10,2)
100
pow(0x1010,0b1010)
1382073245479425468920150911010996224
pow(55,1999999,10000) #计算后四位
4375
pow(55,1999999)%10000 #速度慢
4375
4、round(x)
round(x)对整数或浮点数x进行四舍五入运算。round(x,d)对浮点数x进行带有d位小数的四舍五入运算。“四舍五入”只是一个约定的说法。对于x.5,x为偶数,不进位‘x为奇数,进位。采用“奇进偶不进”的方式。
round(1.4)
1
round(0.5)
0
round(1.5)
2
round(0.50001)
1
round(3.1415926,3)
3.142
5、min()和max()
min()和max()可对任意多数值进行最小值和最大值比较,并输出结果。
min(178,35,556,2.5,6,0.76)
0.76
max(178,35,556,2.5,6,0.76)
556
(3)数值比较运算
六个比较运算符
> | >= | < | <= | == | != |
比较运算结果是True或False。比较运算可以在整数和浮点数之间任意进行。
1024>=0x1010
False
10==10.0
True
涉及复数类型的比较运算受限,只能判断是否相等,即使用==和!=。
5==4+3j
False
3+4j==4+3j
False
10>10+1j
Traceback (most recent call last):
File "<pyshell#21>", line 1, in <module>
10>10+1j
TypeError: '>' not supported between instances of 'int' and 'complex'
这是第三章的前一部分,称为上部分,第三章内容比较多,所以有点厌倦和懈怠哈,今天之前要把下部分敲完,来弥补昨天的任务吧。