开发学院

您的位置:首页>教程>正文

教程正文

Python 3 基本运算符

Python 3 基本运算符

  运算符是处理操作数值的结构。考虑表达式4 + 5 = 9。这里,4和5被称为操作数,+被称为运算符。

运算符的类型

  Python3语言支持以下类型的运算符。

  •   算术运算符

  •   比较(关系)运算符

  •   赋值运算符

  •   逻辑运算符

  •   位运算符

  •   运算符成员

  •   标识运算符

  让我们一一地来学习这些运算符。

算术运算符

  假设变量包含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, -11//3 = -4, -11.0//3 = -4.0

比较运算符

  这些运算符对它们的两侧的值进行比较,并决定它们之间的关系。它们也被称为关系运算符。

  假设变量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.

赋值运算符

  假设变量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

位运算符

  位运算符适用于位和位运算符执行位上的运算。 假设如果 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语言支持以下逻辑运算符。假设变量 a = true ,变量 b = false,那么

操作符描述示例
and如果两个操作数都为真,则条件变为真( a和b )返回false
or如果两个操作数中的任何一个非零,则条件变为真( a或b )返回true
not用于反转其操作数的逻辑状态( a和b )返回false

成员操作符

  Python的成员操作符测试序列中的成员,例如字符串、列表或元组。有两个成员操作符,如下所述:

运算符描述示例
in如果在指定的顺序中找到变量,计算结果为true,否则为 falsex in y,  如果x是序列y的成员,则返回true
not in如果在指定的顺序中不能找到变量,计算结果为true,否则为 falsex not in y, 如果x不是序列y的成员,则返回true

标识操作符

  标识运算符比较两个对象的存储单元。 两种标识操作符解释如下:

运算符描述示例
is如果操作符两侧是相同的对象,计算结果为true,否则结果为 falsex is y,如果ID(x)等于ID(y)返回 1
is not如果操作符两侧的变量是相同的对象,计算结果为false,否则 truex is not y, 如果ID(x)不等于ID(y)返回 1

运算优先级

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

优先级运算符
1**
2~ + -
3* / % //
4+ -
5>> <<
6&
7^ |
8<= < > >=
9<> == !=
10= %= /= //= -= += *= **=
11is is not
12in not in
13not or and