运算符是处理的操作数的值的结构。
考虑表达式4 + 5= 9,在这里4和5被称为操作数,而 + 被称为操作符。
运算符的类型
Python语言支持以下类型的运算符。
-
算术运算符
-
比较(关系)运算符
-
赋值运算符
-
逻辑运算符
-
位运算符
-
运算符成员
-
标识运算符
让我们一个一个地来看所有运算符。
Python算术运算符
假设变量包含a=10以及变量b=21,那么
[ 显示实例 ]
操作符 | 描述 | 示例 |
---|---|---|
+ 加法 | 相加运算两侧的值 | a + b = 31 |
- 减法 |
操作符右侧数减去左侧操作数
|
a – b = -11 |
* 乘法 |
操作符两侧的值相乘
|
a * b = 210 |
/ 除法 |
用运算符右侧的操作数除以左侧操作数
|
b / a = 2.1 |
% 模 |
用右手操作数除以左手操作数并返回余数
|
b % a = 1 |
** 指数 |
执行运算符指数(幂)计算
|
a**b 就是10 的20 次幂 |
// | 地板除 - 除法不管操作数为何种数值类型,总是会舍去小数部分,返回数字序列中比真正的商小的最接近的数字 | 9//2 = 4 和 9.0//2.0 = 4.0 |
Python比较运算符
这些运算符对它们的两侧的值进行比较,并决定它们之间的关系。它们也被称为关系运算符。
假设变量a=10和变量b=20,那么-
[ 显示实例 ]
操作符 | 描述 | 示例 |
---|---|---|
== |
如果两个操作数的值相等,则条件计算结果为 true
|
(a == b) 其值不为 true. |
!= |
如果两个操作数的值不相等,则条件变为 false
|
(a!= b) 其值为 true. |
> |
如果左操作数的值大于右操作数的值,则条件为 true
|
(a > b) 其值不为true. |
< |
如果左操作数的值小于右操作数的值,则条件为 true
|
(a < b) 其值为true. |
>= |
如果左操作数的值大于或等于右操作数的值,则条件为 true
|
(a >= b) 其值不为 true. |
<= |
如果左操作数的值小于或等于右操作数的值,则条件为 true
|
(a <= b) 其值为 true. |
Python赋值运算符
假设变量a=10和变量b=20,那么-
[ 显示实例 ]
运算符 | 描述 | 示例 |
---|---|---|
= |
将右侧的操作数赋值给左侧的操作数
|
c = a + b 是将 a + b 的值分配到 c |
+= |
相加右操作数和左操作数,并分配结果到左操作数
|
c += a 相当于 c = c + a |
-= |
左操作数减去右操作数,并分配结果到左操作数
|
c -= a 相当于 c = c - a |
*= | 右操作数和左操作数相乘,并分配结果到左操作数 | c *= a 相当于 c = c * a |
/= | 左操作数除以右操作数,并分配结果到左操作数 | c /= a 相当于 c = c / a;c /= a相当于 c = c / a |
%= | 左操作数模除以右操作数,并分配结果到左操作数 | c %= a 相当于 c = c % a |
**= |
执行运算符指数(幂)计算并将结果分配值给左操作数
|
c **= a 相当于c = c ** a |
//= 地板除 |
对操作数进行地板除,并赋值给左操作数
|
c //= a 相当于 c = c // a |
Python位运算符
位运算符适用于位和位运算符执行位上的运算。 假设如果 a = 60; 且b =13; 现在它们的二进制格式如下 -
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
Python的内置函数 bin() 可以被用来获取整数的二进制表示。
Python语言支持以下位运算符。
[ 显示实例 ]
运算符 | 描述 | 示例 |
---|---|---|
& |
操作符复制一个位到结果如果都存在于两个操作数
|
(a & b) (二进制为 0000 1100) |
| |
它复制一个位,如果存在于其中一个操作数
|
(a | b) = 61 (二进制为 0011 1101) |
^ |
异或运算
|
(a ^ b) = 49 (二进制为 0011 0001) |
~ |
它是一元,并具有“翻转”位的作用
|
(~a ) = -61 (二进制为 1100 00112 以补码形式,由于一个带符号二进制数) |
<< |
二进制左移
|
a << = 240 (二进制为 1111 0000) |
>> |
二进制右移
|
a >> = 15 (二进制为 0000 1111) |
Python逻辑运算符
Python语言支持以下逻辑运算符。假设变量 a = true ,变量 b = false,那么
[ 显示实例 ]
Python操作符成员
在一个序列Python的成员操作符来测试成员,如字符串,列表或元组。 有两个成员操作符如下面所解释:
[ 操作符成员示例 ]
运算符 | 描述 | 示例 |
---|---|---|
in |
如果在指定的顺序中找到变量,计算结果为true,否则为 false
|
x in y, 如果x是序列y的成员,则返回true |
not in |
如果在指定的顺序中不能找到变量,计算结果为true,否则为 false
|
x not in y, 如果x不是序列y的成员,则返回true |
Python标识操作符
标识运算符比较两个对象的存储单元。 两种标识操作符解释如下:
[ 显示应用实例 ]
运算符 | 描述 | 示例 |
---|---|---|
is |
如果操作符两侧是相同的对象,计算结果为true,否则结果为 false
|
x is y,如果ID(x)等于ID(y)返回 1
|
is not |
如果操作符两侧的变量是相同的对象,计算结果为false,否则 true
|
x is not y, 如果ID(x)不等于ID(y)返回 1 |
Python运算优先级
下表列出了所有从最高优先级到最低的运算符。
[ 运算符优先级 ]
运算符 | 描述 | |
---|---|---|
** |
幂(指数)
|
|
~ + - |
补,一元加号和减号(方法名的最后两个+@和 -@)
|
|
* / % // |
乘,除,取模和地板除
|
|
+ - |
加法和减法
|
|
>> << |
左,右转向按位
|
|
& |
位元“与”
|
|
^ | |
按位异或`'和常规`或'
|
|
<= < > >= |
比较运算符
|
|
<> == != |
操作符比较
|
|
= %= /= //= -= += *= **= |
赋值运算符
|
|
is is not |
操作符标识
|
|
in not in |
操作符成员
|
|
not or and |
逻辑运算符
|