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 用于判断两个变量引用对象是否为同一个,== 用于判断引用变量的值是否相等。
ICP备案:
公安联网备案: