个性化阅读
专注于IT技术分析

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/python

a = 21
b = 10
c = 0

c = 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: ", c 

c = a % b
print "c = a % b: ", c

a = 2
b = 3
c = a**b 
print "c = a**b: ", c

a = 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/python

a = 21
b = 10
c = 0

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"

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/python

a = 21
b = 10
c = 0

c = a + b
print "a + b: ", c

c += a
print "c += a: ", c 

c *= a
print "c *= a: ", c 

c /= a 
print "c /= a: ", c 

c  = 2
c %= a
print "c %= a: ", c

c **= a
print "c **= a: ", c

c //= 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/python

a = 60            # 60 = 0011 1100 
b = 13            # 13 = 0000 1101 
c = 0

c = a & b;        # 12 = 0000 1100
print "行 1 – c的值: ", c

c = a | b;        # 61 = 0011 1101 
print "行 2 - C的值: ", c

c = a ^ b;        # 49 = 0011 0001
print "行 3 - C的值: ", c

c = ~a;           # -61 = 1100 0011
print "行 4 - C的值: ", c

c = a << 2;       # 240 = 1111 0000
print "行 5 - C的值: ", c

c = 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/python

a = 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/python

a = 20
b = 20

if ( 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运算符优先级

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

编号 操作符 & 描述
1 ** 取幂
2 ~ + – 补码、一元加减码(后两个方法名是+@和-@)
3 * / % // 乘法、除法、乘除和向下除法
4 + – 加法和减法
5 >> << 左右逐位移位
6 & 按位”and“
7 ^ | 按位或
8 <= < > >= 比较操作符
9 <> == != 相等操作
10 = %= /= //= -= += *= **= 赋值操作符
11 is is not 标识符
12 in not in 成员操作符
13 not or and 逻辑操作符
赞(0)
未经允许不得转载:srcmini » python编程基本操作符用法总结 – Python入门开发教程

评论 抢沙发

评论前必须登录!