Python3基本运算符


运算符是构造,可以操纵操作数的值。考虑表达式4 + 5 =9。这里,4和5称为操作数,而+称为运算符。

运营商类型


Python语言支持以下类型的运算符:

  • 算术运算符
  • 比较(关系)运算符
  • 赋值运算符
  • 逻辑运算符
  • 按位运算符
  • 会员运营商
  • 身份运算符

让我们一一看一下所有的运算符。

Python算术运算符


假设变量 a 拥有值10和变量 b 拥有值21,则:

显示范例

Operator 描述 Example
+加法 在运算符的任一侧添加值。 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,-11 // 3 = -4,-11.0 // 3 = -4.0

Python比较运算符


这些运算符比较它们任一侧的值并确定它们之间的关系。它们也称为关系运算符。

假设变量 a 拥有值10和变量 b 保持值为20,则:

显示范例

Operator 描述 Example
== 如果两个操作数的值相等,则条件变为true。 (a == b)不正确。
!= 如果两个操作数的值不相等,则条件为真。 (a!= b)是正确的。
> 如果左操作数的值大于右操作数的值,则条件为true。 (a> b)是不正确的。
< 如果左操作数的值小于右操作数的值,则条件为true。 (a
>= 如果左操作数的值大于或等于右操作数的值,则条件为true。 (a> = b)不正确。
<= 如果左操作数的值小于或等于右操作数的值,则条件为true。 (a <= b)是正确的。

Python赋值运算符


假设变量 a 拥有值10和变量 b 保持值为20,则:

显示范例

Operator 描述 Example
= 将值从右侧操作数分配给左侧操作数 c = a + b将a + b的值赋给c
+ =添加AND 它将右操作数添加到左操作数,并将结果分配给左操作数 c + = a等于c = c + a
-=减去AND 它从左侧操作数中减去右侧操作数,并将结果分配给左侧操作数 c-= a等效于c = c-a
* =相乘 它将右操作数与左操作数相乘并将结果分配给左操作数 c * = a等效于c = c * a
/ =除以AND 它将左操作数除以右操作数,并将结果分配给左操作数 c / = a等效于c = c / ac / = a等效于c = c / a
%=模数AND 它使用两个操作数取模,并将结果分配给左操作数 c%= a等于c = c%a
** =指数AND 对运算符执行指数(幂)计算并将值赋给左操作数 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语言支持以下按位运算符:

显示范例

Operator 描述 Example
&二进制AND 如果两个操作数中都存在运算符,则将其复制到结果中 (a和b)(表示0000 1100)
|二进制或 如果在任何一个操作数中存在,它都会复制一点。 (a | b)= 61(意味着0011 1101)
^二进制异或 如果在一个操作数中但不是在两个操作数中都将其置位,它将复制该位。 (a ^ b)= 49(意味着0011 0001)
〜二进制补码 它是一元的,具有“翻转”位的作用。 (〜a)= -61(由于带符号的二进制数,因此以2的补码形式表示1100 0011。
<<二进制左移 左操作数的值向左移动右操作数指定的位数。 a << 2 = 240(意味着1111 0000)
>>二进制右移 左操作数的值向右移动右操作数指定的位数。 a >> 2 = 15(意味着0000 1111)

Python逻辑运算符


Python语言支持以下逻辑运算符。假设变量 a 持有真和可变 b 则为假:

显示范例

Operator 描述 Example
和逻辑与 如果两个操作数都为真,则条件为真。 (a和b)为False。
或逻辑或 如果两个操作数中的任何一个都不为零,则条件为true。 (a或b)为True。
不是逻辑非 用于反转其操作数的逻辑状态。 不是(a和b)为True。

Python成员运算符


Python的成员资格运算符会测试序列中的成员资格,例如字符串,列表或元组。有两个成员运算符,如下所述:

显示范例

Operator 描述 Example
in 如果找到指定序列中的变量,则评估为true,否则为false。 x in y,如果x是序列y的成员,则结果为1。
not in 如果找不到指定序列中的变量,则求值为true,否则为false。 x不在y中,如果x不是序列y的成员,则此处的结果不为1。

Python身份运算符


身份运算符比较两个对象的内存位置。有两个身份运算符,如下所述:

显示范例

Operator 描述 Example
is 如果运算符两侧的变量指向同一个对象,则结果为true,否则为false。 x是y,在这里 is 如果id(x)等于id(y),则结果为1。
is not 如果运算符两侧的变量指向同一对象,则计算为false,否则为true。 x不是y,这里 is not 如果id(x)不等于id(y),则结果为1。

Python运算符优先级


下表列出了从最高优先级到最低优先级的所有运算符。

显示范例

序号 运算符和说明
1

**

求幂(提高幂)

2

~ + -

补码,一元加号和减号(最后两个的方法名称为+ @和-@)

3

* / % //

乘,除,模和底除

4

+ -

加减

5

>> <<

左右位移

6

&

按位“与”

7

^ |

按位异或(OR)和常规(OR)

8

<= <>> =

比较运算符

9

<> ==!=

平等经营者

10

=%= / = // =-= + = * = ** =

赋值运算符

11

是不是

身份运算符

12

不在

会员经营者

13

不是或

逻辑运算符