Python基础 - Python运算符

Python运算符

Posted by 王富杰 on Monday, January 20, 2025

一、算数运算符

算数运算符指的是数学上的加减乘除等运算,Python除了加减乘除,还提供了取模、幂运算等算数运算符。

+:加法(例如,3 + 2-:减法(例如,3 - 2*:乘法(例如,3 * 2/:除法(例如,3 / 2//:整数除法(例如,3 // 2) 不会四舍五入只保留整数部分
%:取模(例如,3 % 2)   返回的是余数
**:幂运算(例如,3 ** 2) 即3的2次方,结果就是9

二、比较运算符

比较运算符即对两个值进行比较的运算符,返回结果一般是 True 或者 False

==:等于(例如,3 == 2!=:不等于(例如,3 != 2>:大于(例如,3 > 2<:小于(例如,3 < 2>=:大于等于(例如,3 >= 2<=:小于等于(例如,3 <= 2

三、逻辑运算符

逻辑运算符包含三个,分别是逻辑与 and、逻辑或 or、逻辑非 not。 and是连接多个多天,当所有都为true时结果就为true,如果其中任何一个条件不成立结果就是False。

>>> 20 > 10 and 18 > 16
True
>>> 20 < 10 and 18 > 16
Fals

逻辑与有一个偷懒原则,就是所有条件从前往后判断,只要一个条件不满足后边的条件就不在进行判断了。

逻辑非 not 是用来取反的意思,True 加了 not就是 Flase。

>>> not True
False
>>> not 10 < 8
True

逻辑或 or 是只要任意一个条件为 True, 那它的结果就是 True。or也是遵循偷懒原则,从前往后判断。只有存在条件为真,后边的条件就不再进行判断了。这三个逻辑运算符也可以联合使用,他们具体不同的优先级。优先级 not > and > or

四、位运算符

位运算是对二进制进行操作的运算。它包含

&:按位与(例如,3 & 2) 两个数字的二进制位按位进行 与运算,只有两个位都为 1 时结果才为 1,否则为 0
|:按位或(例如,3 | 2) 两个数字的二进制位按位进行 或运算,只要有一个位为 1,结果就为 1
^:按位异或(例如,3 ^ 2) 两个数字的二进制位按位进行 异或运算,当两个位不相同时结果为 1,相同时结果为 0
~:按位取反(例如,~3)对数字的二进制位按位进行 取反,将 0 变为 11 变为 0
<<:左移(例如,3 << 2) 将数字的二进制位 左移 指定位数,右边用 0 填充。相当于对数字乘以2的n次方
>>:右移(例如,3 >> 2) 将数字的二进制位 右移 指定位数,左边用符号位(正数补 0,负数补 1)填充。相当于对数字整除2的n次方

如果此处不了解二进制的操作也没关系,后面文章我们会具体讲述进制的转换。这里我们选按位与做示例:

a = 5  # 二进制:0101
b = 3  # 二进制:0011
result = a & b  # 结果:0001(二进制),即 1
print(result)  # 输出:1

五、赋值运算符

赋值运算符即将值赋给一个变量,例如 = 就是赋值运算符,赋值运算符就很多种。如:

=:赋值(例如,a = 3+=:加赋值(例如,a += 2-=:减赋值(例如,a -= 2*=:乘赋值(例如,a *= 2/=:除赋值(例如,a /= 2//=:整数除赋值(例如,a //= 2%=:取模赋值(例如,a %= 2**=:幂赋值(例如,a **= 2&=:按位与赋值(例如,a &= 2|=:按位或赋值(例如,a |= 2^=:按位异或赋值(例如,a ^= 2<<=:左移赋值(例如,a <<= 2>>=:右移赋值(例如,a >>= 2

这里拿 a += 2做解释,即将a当前的值加2,得到的结果再重新赋值给a。 其他的都是一样的用法,此处就不再做具体演示。

六、成员运算符

成员运算符就是判断是不是它的成员,这个运算符就是 in 。成员运算符适用于字符串和容器类型。同样判断不在还可以用not in

>>> 'ni' in 'nihao'
True
>>> 1 in [1, 2, 3]
True
>>> 'a' in {'a':1, 'b':2}
True
>>> 1 in {'a':1, 'b':2}
False
>>> 'a' not in {'a':1, 'b':2}
False

从示例可以看出,判断字典是判断的 key。而不是value

七、身份运算符

身份运算符是判断两个值是否是同一个类型对象,对象的概念现在还没有讲述,他属于Python进阶的内容。这里可以先做了解。

>>> type(1) is int
True
>>> type('a') is not str
False

从示例可以看出,数字1的类型是int。这里的int就是一个类。

「真诚赞赏,手留余香」

WangFuJie Blog

真诚赞赏,手留余香

使用微信扫描二维码完成支付