运算符是处理的操作数的值的结构。考虑表达式4 + 5= 9.在这里4和5被称为操作数,而 + 被称为操作符。
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 |
这些运算符对它们的两侧的值进行比较,并决定它们之间的关系。它们也被称为关系运算符。
假设变量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,
在一个序列Python的成员操作符来测试成员,如字符串,列表或元组。 有两个成员操作符如下面所解释:
运算符 | 描述 | 示例 |
---|---|---|
in | 如果在指定的顺序中找到变量,计算结果为true,否则为 false | x in y, 如果x是序列y的成员,则返回true |
not in | 如果在指定的顺序中不能找到变量,计算结果为true,否则为 false | x not in y, 如果x不是序列y的成员,则返回true |
标识运算符比较两个对象的存储单元。 两种标识操作符解释如下:
运算符 | 描述 | 示例 |
---|---|---|
is | 如果操作符两侧是相同的对象,计算结果为true,否则结果为 false | x is y,如果ID(x)等于ID(y)返回 1 |
is not | 如果操作符两侧的变量是相同的对象,计算结果为false,否则 true | x is not y, 如果ID(x)不等于ID(y)返回 1 |
下表列出了所有从最高优先级到最低的运算符。
运算符 | 描述 | |
---|---|---|
** | 幂(指数) | |
~ + - | 补,一元加号和减号(方法名的最后两个+@和 -@) | |
* / % // | 乘,除,取模和地板除 | |
+ - | 加法和减法 | |
>> << | 左,右转向按位 | |
& | 位元“与” | |
^ | | 按位异或`'和常规`或' | |
<= < > >= | 比较运算符 | |
<> == != | 操作符比较 | |
= %= /= //= -= += *= **= | 赋值运算符 | |
is is not | 操作符标识 | |
in not in | 操作符成员 | |
not or and | 逻辑运算符 |
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理