Python运算符大全(非常详细,附带实例)
运算符是可以操纵操作数的结构。如一个表达式:10+20=30。这里,10 和 20 称为操作数,+ 则被称为运算符。
Python 语言支持以下类型的运算符:
下面来看看 Python 的所有运算符。
【实例 1】 Python 的算术运算。
【实例 2】 Python 的比较运算。
【实例 3】Python 的赋值运算操作。
【实例 4】 Python 的位运算。
【实例 5】 Python 的逻辑运算实例。
【实例 6】Python的成员运算实例。
【实例 7】身份运算实例。
Python 语言支持以下类型的运算符:
- 算术运算符
- 比较(关系)运算符
- 赋值运算符
- 位运算符
- 逻辑运算符
- 成员运算符
- 身份运算符
下面来看看 Python 的所有运算符。
Python算术运算符
假设变量 a 的值是 10,变量 b 的值是 21,下表列出了算术运算符规则。运算符 | 描述 | 实 例 |
---|---|---|
+ | 加:两个对象相加 |
>>> a | b 31 |
- | 减:得到负数或是一个数减去另一个数 |
>>> a - b -11 |
* | 乘:两个数相乘或是返回一个被重复若干次的字符串 |
>>> a * b 210 |
/ | 除:x 除以 y |
>>> b/a 2.1 |
% | 取模:返回除法的余数 |
>>> b % a 1 |
** | 幂:返回 x 的 y 次幂 |
>>> a**b 1000000000000000000000 |
// | 取整除:向下取接近商的整数 |
>>> a//b 0 |
【实例 1】 Python 的算术运算。
a=21 b=10 c=0 c=a+ b print("1-c的值为:",c) c=a-b print("2-c的值为:",c) c=a*b print("3-c的值为:",c) c=a/b print("4-c的值为:",c) c=a% b print("5-c的值为:",c) #修改变量a、b、c a=2 b=3 c=a**b print("6-c的值为:",c)运行程序,输出如下:
1-c的值为: 31
2-c的值为: 11
3-c的值为: 210
4-c的值为: 2.1
5-c的值为: 1
6-c的值为: 8
Python比较(关系)运算符
下表是假设变量 a 为 8,变量 b 为 17 的比较效果。运算符 | 描述 | 实 例 |
---|---|---|
== | 等于:比较对象是否相等 |
>>>a == b False |
!= | 不等于:比较两个对象是否不相等 |
>>>a != b True |
> | 大于:返回 x 是否大于 y |
>>>a > b False |
< | 小于:返回 x 是否小于 y。所有比较运算符返回 1 表示真,返回 0 表示假。这分别与特殊的变量 True 和 False 等价。注意,这些变量名的大小写 |
>>>a < b True |
>= | 大于或等于:返回 x 是否大于或等于 y |
>>>a >= b False |
<= | 小于或等于:返回 x 是否小于或等于 y |
>>>a <= b True |
【实例 2】 Python 的比较运算。
c=0 a=5 b=20 if ( a <= b ): print ("5 - a 小于或等于 b") else: print ("5 - a 大于 b") if ( b > a ): print ("6 - b 大于或等于 a") else: print ("6 - b 小于 a")运行程序,输出如下:
5 - a 小于或等于 b
6 - b 大于或等于 a
Python赋值运算符
下表是假设变量 a 为 8,变量 b 为 17 的赋值运算效果。运算符 | 描述 | 实 例 |
---|---|---|
= | 简单的赋值运算符 | 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 |
【实例 3】Python 的赋值运算操作。
a=8 b=17 c=0 c=a+ b print("1-c的值为:",c) c+=a print("2-c的值为:",c) c*=a print("3-c的值为:",c) c/=a print("4-c的值为:",c) c%=a print("5-c的值为:",c) c**=a print("6-c的值为:",c) c//=a print("7-c的值为:",c)运行程序,输出如下:
1-c的值为:25
2-c的值为:33
3-c的值为:264
4-c的值为:33.0
5-c的值为:2
6-c的值为:256
7-c的值为:32
Python位运算符
位运算符是把数字看作二进制数来进行计算的。Python 中的位运算法则如下表所示。表中变量 a 为 60,b 为 13。运算符 | 描述 | 实 例 |
---|---|---|
& | 按位与运算符:参与运算的两个值,如果两个相应位都为 1,则该位的结果为1,否则为 0 | (a & b) 输出结果 12,二进制解释:0000 1100 |
| | 按位或运算符:只要对应的两个二进制位有一个为 1,结果位就为 1 | (a | b) 输出结果 61,二进制解释:0011 1101 |
^ | 按位异或运算符:当两个对应的二进制位相异时,结果为 1 | (a ^ b) 输出结果 49,二进制解释:0011 0001 |
~ | 按位取反运算符:对数据的每个二进制位取反,即把 1 变为 0,把 0 变为 1。~x 类似于 ~x = -x - 1 | ( ~ b ) 输出结果 -61,二进制解释:1100 0011,一个有符号二进制数的补码形式 |
<< | 左移运算符:运算数的各二进制位全部左移若干位,由左边的数 '0' 指定移动的位数,高位丢弃,低位补 0 | a << 2 输出结果 240,二进制解释:1111 0000 00 |
>> | 右移运算符:把 >> 左边的运算数的各二进制位全部右移若干位,>>> 右边的数指定了移动的位数 | a >> 2 输出结果 15,二进制解释:0000 111 |
【实例 4】 Python 的位运算。
a = 60 b = 13 c = a & b print ("1-c的值为:",c) c = a | b print ("2-c的值为:",c) c = a ^ b print ("3-c的值为:",c) c = ~a print ("4-c的值为:",c) c = a << 2 print ("5-c的值为:",c) c = a >> 2 print ("6-c的值为:",c)运行程序,输出如下:
1-c的值为: 12 2-c的值为: 61 3-c的值为: 49 4-c的值为: -61 5-c的值为: 240 6-c的值为: 15
Python逻辑运算符
Python 语言支持逻辑运算符,下表为假设变量 a 为 8,b 为 16 进行运算的结果。运算符 | 逻辑表达式 | 描述 | 实 例 |
---|---|---|---|
and | x and y | 布尔“与”:如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值 | (a and b) 返回 16 |
or | x or y | 布尔“或”:如果 x 为非 0,它返回 x 的值,否则它返回 y 的计算值 | (a or b) 返回 8 |
not | not x | 布尔“非”:如果 x 为 True,返回 False。如果 x 为 False,它返回 True | not(a and b) 返回 False |
【实例 5】 Python 的逻辑运算实例。
a = 8 b = 16 c = a and b print ("1-c的值为:",c) c = a or b print ("2-c的值为:",c) c = not(a and b) print ("3-c的值为:",c)运行程序,输出如下:
1-c的值为: 16
2-c的值为: 8
3-c的值为: False
Python成员运算符
除了以上运算符之外,Python 还支持成员运算符,测试实例中包含了一系列的成员,包括字符串、列表或元组,如下表所列。运算符 | 描述 | 实 例 |
---|---|---|
in | 如果在指定的序列中找到值返回 True,否则返回 False | x 在 y 序列中,如果 x 在 y 序列中返回 True |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False | x 不在 y 序列中,如果 x 不在 y 序列中返回 True |
【实例 6】Python的成员运算实例。
a = 8 b = 16 list = [1, 2, 3, 4, 5 ] if ( a in list ): print ("1 - 变量 a 在给定的列表 list 中") else: print ("1 - 变量 a 不在给定的列表 list 中") if ( b not in list ): print ("2 - 变量 b 不在给定的列表 list 中") else: print ("2 - 变量 b 在给定的列表 list 中")运行程序,输出如下:
1 - 变量 a 不在给定的列表 list 中
2 - 变量 b 不在给定的列表 list 中
Python身份运算符
身份运算符用于比较两个对象的存储单元,如下表所列。运算符 | 描述 | 实 例 |
---|---|---|
is | 是 判断两个标识符是否引用自一个对象 | x is y,类似 id(x) == id(y),如果引用的是同一个对象则返回 True,否则返回 False |
is not | is not 是判断两个标识符是否引用自不同对象 | x is not y,类似 id(x) != id(y),如果引用的不是同一个对象则返回 True,否则返回 False |
【实例 7】身份运算实例。
a = 15 b = 15 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 有相同的标识")运行程序,输出如下:
1 - a 和 b 有相同的标识 2 - a 和 b 有相同的标识 3 - a 和 b 没有相同的标识 4 - a 和 b 没有相同的标识is 与 == 的区别主要表现在,is 用于判断两个变量引用对象是否为同一个,== 用于判断引用变量的值是否相等。