首页 > 编程笔记 > Python笔记 阅读:55

Python运算符大全(非常详细,附带实例)

运算符是可以操纵操作数的结构。如一个表达式:10+20=30。这里,10 和 20 称为操作数,+ 则被称为运算符。

Python 语言支持以下类型的运算符:
  1. 算术运算符
  2. 比较(关系)运算符
  3. 赋值运算符
  4. 位运算符
  5. 逻辑运算符
  6. 成员运算符
  7. 身份运算符

下面来看看 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 用于判断两个变量引用对象是否为同一个,== 用于判断引用变量的值是否相等。

相关文章