Python 语言的数字(Digtial)与数学的数字是一致的,可以通过各种运算符实现各种计算。根据计算机语言处理要求,这里把数字分为整数(Integer)、浮点数(Float)、复数(Complex)、布尔(Boolean)。
2.3.1 算术运算符
加(+)、减(-)、乘()、除(/)、取模(%)、幂(*)、取整除(//)
2.3.2 整数
定义4:整数(Integer,简写Int)又称整型,由正整数、零和负整数构成,不包括小数、分数。
在Python语言里整数的长度不受限制,仅受可用(虚拟)内存限制
1.加、减、乘、除运算
num1 = 10
bum2 = 3
count = num1 + num2
print('加法和为:%d'%(cont))
print('减法差为:%d'%(num1 - num2))
print('乘法积为:%d'%(num1*num2))
print('除法的商为:%d'%(num1\num2))
result = (num1 - num2)*(num1 + num2)/7 - 3
print('加减乘除混合运算:%d'%(result))
2.取模、幂、取整除运算
x = 5
y = 3
x % y
x // y
x ** y
2.3.3 浮点数
定义5:浮点数(Float),对应于数学中的实数(Real)。在Python语言中,浮点数是带小数点的数字。
20.0/3
10*2 + 0.1
1.1 + 0.96
4.0/2.0
2.3.4 复数
定义6:复数(Complex)由实数和虚数部组成,把实数扩到了虚数,其数学表示形式为a + bj (a、b均为实数)。a 称为实部,b 称为虚部,j(J)为虚数单位(j*2 = -1),bj称为虚数
(1-2j)
`(1-2j)(1-3j)<br>
    (-4-7j)<br>
    (1-2j)<br>
    (1-2j).real<br>
    (1-2j).imag`
2.3.5 布尔
定义7:布尔(Boolean)又称为逻辑。在Python语言中用True、False表示,用于逻辑判断。该数据是一种特殊的整数类,True可以用1代替,代表“真”;False 可以用0替换,代表“假”。
and 与 只有and两侧的逻辑值为1时,其结果为1,其他情况为0
or 或 如果or两侧至少有一个逻辑值为1时,其结果为1,其他情况为0
not 非 not 0 得1, not 1 得 0
2.3.6 二进制
定义8:二进制(Binary)数据是用0和1两个数字表示的数。它的基数为2,进位规则是“逢二进一”。在最新的Python中用0b开始表示二进制数。
0b1110 输出十进制14
十进制数字转换为二进制可用bin()函数
二进制运算符:
& 按位与运算符 (m&n),参与运算的m、n,如果对应位数都为1,则该位的结果为1,否则为0.
| 按位异运算符 (m|n),参与运算的m、n,只要对应的二进制位有一个1,则结果为1;只有当对应位都为0时,结果才为0.
^ 按位异或运算符 (m^n),(m^n),参与运算的m、n,当对应的二进制位相异时,结果为1;相同时,结果为0.
~ 按位反转运算符 (n),将二进制数+1之后乘以-1,m的按位反转是-(m+1))
<< m<<n,把m的二进制全部左移x位,高位在超出操作系统支持位数时,丢弃,不超过时左移,低位补0.x为需要移动的数量
>> m>>n,把m的二进制位全部右移x位,低位丢弃,高位补0.x为需要移动的数量。
1.与运算(&)
0b00110101&0b01100001
33 # 输出十进制值33,对应的字符为“!”,其二进制为00100001
2.或运算(|)
0b00110101|0b01100001
117 # 输出十进制值117,队医的字符为u,其二进制值为01110101
3.异或运算(^)
0b00110101^0b01100001
84 # 输出十进制值84,对应的字符为T,其二进制值为01010100
4.反转运算(
~0b0010101
-54 # 输出十进制-54,其二进制位-00110110
5.左移动运算(<<)
0b00110101<<2
212 # 输出十进制值为212,对应的字符为O,其二进制值为11010100
6.右移动运算
0b00110101>>2
13 # 输出十进制值13,对应的字符为“\r”(按Enter键),其二进制为11010100
2.3.7 比较运算符
== 等于 x==y,比较结果相等,返回True;否则返回False
!= 不等于 x!=Y,比较结果不相等,返回True;否则返回False
> 大于 x>y,比较结果x大于y,返回True;否则返回False
< 小于 x<y,比较结果x小于y,返回True;否则返回False
>= 大于等于 x>=y,比较结果x>=y,返回True,否则返回False
<= 小于等于 x<=y,比较结果x<=y,返回True,否则返回False
1.整数比较
1.等于比较(==)
age1 , age2 , age3 = 10 , 9 , 0o12
age1 == age3 # 十进制与八进制比较
True
age1 == age3
False # age1 = 10 , age2 = 9 ,值不一样所以返回False
False = True
False # False 与 True 不一致,所以结果为False
3 == 3.0
True # 整数与浮点数比较
5 - 2j == 5 + 2j
False # 复数与复数的比较
0b00110001 == 0b00110010
False # 二进制值与二进制值比较
从以上可以看出,整数里的任何数都可以相互比较,并产生布尔值。
2.其他比较
age1 , ahe2 , age3 = 10 , 9 , 0o12
>>>age1 != age2
True
>>> age1 >= age2
True
>>> age1 <= age2
False
>>> age1 >= age2
True
>>> age1 < age2
False
2.字符串比较
>>> ‘a’ == ‘b’ # 字符串a与b比较,其实比较的是ASCII码数字的大小
False
>>> ‘ab’ == ‘ab’ # 字符串ab 与 ab 比较
True
’a’ == 1 # 字符串a 与整数1比较
False
3.优先级
比较运算符优先级低于算术运算符、位运算符,高于逻辑运算符
>>> 5 + 1 > 5 and True # 先计算5+1=6,然后6>5得True,最后True and True 运算
True
>>> (5+1)*2 > 5 and True # 小括号内最优计算,也就是可以用小括号改变运算次序
True
2.3.8 赋值运算符
= 简单赋值 Num = x + y
+= 加法赋值 x += y ,等于Num = x + y
-= 减法赋值 x -= y ,等于Num = x - y
= 乘法赋值 x = y ,等于Num = x * y
/= 除法赋值 x /= y ,等于Num = x / y
%= 取模赋值 x %= y ,等于Num = x % y
= 幂运算 x *= y ,等于Num = x * y
//= 取整除赋值 x //= y ,等于Num = x // y
<<= 右移位赋值 B1 <<= m ,等于B = B1 << m
>>= 左移位赋值 B1 >>= m ,等于B = B1 >> m
&= 位与赋值 B1 &= B2 ,等于B = B1 & B2
|= 位或赋值 B1 |= B2 ,等于B = B1 | B2
^= 位异或赋值 B1 ^= B2 ,等于B = B1 ^ B2
>>> x , y = 10 , 20
>>> x + y
30
>>> x + y
>>> print(x)
30