python编程基本操作符用法总结 – Python入门开发教程

上一章Python教程请查看:python变量类型学习笔记总结
操作符是可以操作操作数值的结构,这一章我们讨论python所有的操作符及其用法。
考虑表达式4 + 5 = 9,在这里4和5被称为操作数,而+被称为操作符。
1、操作符的类型Python语言支持以下类型的操作符。

  • 算术运算符
  • 比较(关系)操作符
  • 赋值操作符
  • 逻辑运算符
  • 按位运算符
  • 成员操作符
  • 标识符
让我们逐一看看所有的操作符以及对应的用法。
2、Python算术运算符下表是python的所有可用算术运算操作符:
操作符 描述 例子
+ 加法 添加值两侧的操作符。 a + b = 30
– 减法 从左操作数减去右操作数。 a – b = -10
* 乘法 将操作符两边的数进行相乘 a * b = 200
/ 除法 用右操作数除左操作数 b / a = 2
% 取模 将左操作数除以右操作数,返回余数 b % a = 0
**指数 执行指数(幂)计算操作符 a**b =10的20次方
// 底数除法——操作数的除法,其结果是小数点后的数字被除去的商。但是如果其中一个操作数是负的,则结果为负,也就是从零到负无穷四舍五入 9//2 = 4 and 9.0//2.0 = 4.0, -11//3 = -4, -11.0//3 = -4.0
下面是python算法运算符的用法:
#!/usr/bin/pythona = 21 b = 10 c = 0c = a + b print "c = a + b: ", cc = a - b print "c = a – b: ", c c = a * b print "c = a * b: ", c c = a / b print "c = a / b: ", c c = a % b print "c = a % b: ", ca = 2 b = 3 c = a**b print "c = a**b: ", ca = 10 b = 5 c = a//b print "c = a//b: ", c

3、Python比较运算符这些操作符比较它们两边的值,并确定它们之间的关系,它们也被称为关系运算符。
下表是python的所有比较运算符及其使用示例。
操作符 描述 例子
== 如果两个操作数的值相等,则条件为真。 (a == b) is not true.
!= 如果两个操作数的值不相等,则条件为真。 (a != b) is true.
< >   如果两个操作数的值不相等,则条件为真。 (a < > b) is true.和 != 操作符类似.
>   如果左操作数的值大于右操作数的值,则条件为真。 (a > b) is not true.
<   如果左操作数的值小于右操作数的值,则条件为真。 (a < b) is true.
> = 如果左操作数的值大于或等于右操作数的值,则条件为真。 (a > = b) is not true.
< = 如果左操作数的值小于或等于右操作数的值,则条件为真。 (a < = b) is true.
下面是使用python比较运算符的例子。
#!/usr/bin/pythona = 21 b = 10 c = 0if ( a == b ): print "a == b" else: print "a != b"if ( a != b ): print "a != b" else: print "a == b"if ( a < > b ): print "a != b" else: print "a == b"if ( a < b ): print "a < b" else: print "a >= b"if ( a > b ): print "a > b" else: print "a < = b"a = 5; b = 20; if ( a < = b ): print "a < = b" else: print "a > b"if ( b >= a ): print "b >= a" else: print "b < a"

4、Python赋值操作符下表是python的所有赋值操作符以及响应的示例。
操作符 描述 例子
= 将右侧操作数的值赋给左侧操作数 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 / ac /= a等价于c = c / a
%= 它使用两个操作数取模并将结果赋给左操作数 c %= a等价于c = c % a
**= 执行指数(幂)计算操作符和赋值左操作数 c **= a等价于c = c ** a
//= 它对操作符进行层划分,并为左操作数赋值 c //= a等价于c = c // a
下面是使用python赋值操作符的例子
#!/usr/bin/pythona = 21 b = 10 c = 0c = a + b print "a + b: ", cc += a print "c += a: ", c c *= a print "c *= a: ", c c /= a print "c /= a: ", c c= 2 c %= a print "c %= a: ", cc **= a print "c **= a: ", cc //= a print "c //= a: ", c

5、Python按位运算符按位运算符处理位,假设a = 60; b = 13; 在二进制格式中,它们是这样的:
a = 0011 1100
b = 0000 1101
— — — — — –
a& b = 0000 1100
a|b = 0011 1101
a^b = 00110001
~a = 1100 0011
Python语言支持以下位操作符:
操作符 描述 例子
& 二进制与 如果结果在两个操作数中都存在,则运算符将向结果复制一位 (a & b) (即 0000 1100)
| 二进制或 如果它存在于任何一个操作数中,它就会复制一位。 (a | b) = 61 (即 0011 1101)
^二进制XOR 如果在一个操作数中设置了位,而不是两个操作数都设置了位,那么它将复制该位。 (a ^ b) = 49 (表示 0011 0001)
~二进制补码 它是一元的,具有“翻转”位的效果。 (~a) = -61(表示2的补码形式1100 0011,由于是带符号的二进制数。
< < 二进制左移 左操作数值由右操作数指定的位数向左移动。 a < < 2 = 240 (即 1111 0000)
> > 二进制右移 左操作数值按右操作数指定的位数右移。 a > > 2 = 15 (即 0000 1111)
下面是使用python按位运算符的实例。
#!/usr/bin/pythona = 60# 60 = 0011 1100 b = 13# 13 = 0000 1101 c = 0c = a & b; # 12 = 0000 1100 print "行 1 – c的值: ", cc = a | b; # 61 = 0011 1101 print "行 2 - C的值: ", cc = a ^ b; # 49 = 0011 0001 print "行 3 - C的值: ", cc = ~a; # -61 = 1100 0011 print "行 4 - C的值: ", cc = a < < 2; # 240 = 1111 0000 print "行 5 - C的值: ", cc = a >> 2; # 15 = 0000 1111 print "行 6 - C的值: ", c

6、Python逻辑运算符Python语言支持以下逻辑操作符。假设变量a=10; b=20。
操作符 描述 例子
与逻辑and 如果两个操作数都为真,则条件为真。 (a and b) is true.
或逻辑or 如果两个操作数中有一个非零,则条件为真。 (a or b) is true.
非逻辑not 用于反转其操作数的逻辑状态。 Not(a and b) is false.
7、Python成员操作符Python的成员资格操作符测试序列中的成员资格,如字符串、列表或元组。有两种成员运算符,如下所述
操作符 描述 例子
in 如果在指定的序列中找到一个变量,则计算为true,否则为false。 x在y中,如果x是序列y中的一个元素,结果就是1。
not in 如果没有找到指定序列中的变量,则计算为true,否则为false。 x不在y中,如果x不在序列y中,那么结果就是1。
下面使用成员操作符的例子。
#!/usr/bin/pythona = 10 b = 20 list = [1, 2, 3, 4, 5 ]; if ( a in list ): print "行 1 - a在给定的列表中可用" else: print "行 1 -a在给定的列表中不可用"if ( b not in list ): print "行 2 -b在给定的列表中不可用" else: print "行 2 - b在给定的列表中可用"a = 2 if ( a in list ): print "行 3 - a在给定的列表中可用" else: print "行 3 - a在给定的列表中不可用"

8、Python标识符标识符比较两个对象的内存位置,这里有两个恒等算子。
操作符 描述 例子
is 如果操作符两边的变量指向相同的对象,则计算结果为true,否则为false。 x是y,这是结果1,如果id(x)等于id(y)
is not 如果操作符两边的变量指向相同的对象,则为false,否则为true。 如果id(x)不等于id(y)那么x不等于1。
#!/usr/bin/pythona = 20 b = 20if ( a is b ): print "行 1 - a和b具有相同的恒等式" else: print "行 1 - a和b没有相同的恒等式"if ( id(a) == id(b) ): print "行 2 - a和b具有相同的恒等式" else: print "行 2 - a和b没有相同的恒等式"b = 30 if ( a is b ): print "行 3 - a和b具有相同的恒等式" else: print "行 3 - a和b没有相同的恒等式"if ( a is not b ): print "行 4 - a和b没有相同的恒等式" else: print "行 4 - a和b具有相同的恒等式"

9、Python运算符优先级【python编程基本操作符用法总结 – Python入门开发教程】下表列出了从最高优先级到最低优先级的所有操作符。
编号 操作符 & 描述
1 ** 取幂
2 ~ + – 补码、一元加减码(后两个方法名是+@和-@)
3 * / % // 乘法、除法、乘除和向下除法
4 + – 加法和减法
5 > > < < 左右逐位移位
6 & 按位”and“
7 ^ | 按位或
8 < = < > > = 比较操作符
9 < > == != 相等操作
10 = %= /= //= -= += *= **= 赋值操作符
11 is is not 标识符
12 in not in 成员操作符
13 not or and 逻辑操作符

    推荐阅读