Python中常用的一些运算符类型
算术运算符
+
:加法-
:减法*
:乘法/
:除法(结果为浮点数)%
:取模(即除法余数)**
:幂(指数)//
:整除(结果为商的整数部分)
示例代码:
a = 10
b = 3
print("加法:", a + b) # 输出 13
print("减法:", a - b) # 输出 7
print("乘法:", a * b) # 输出 30
print("除法:", a / b) # 输出 3.3333333333333335
print("整除:", a // b) # 输出 3
print("取余:", a % b) # 输出 1
print("幂运算:", a ** b) # 输出 1000
比较运算符
==
:等于!=
:不等于>
:大于<
:小于>=
:大于等于<=
:小于等于
示例代码:
a = 10
b = 20
print("等于:", a == b) # 输出 False
print("不等于:", a != b) # 输出 True
print("大于:", a > b) # 输出 False
print("小于:", a < b) # 输出 True
print("大于等于:", a >= b) # 输出 False
print("小于等于:", a <= b) # 输出 True
赋值运算符
=
:赋值+=
:加法赋值-=
:减法赋值*=
:乘法赋值/=
:除法赋值%=
:取模赋值**=
:幂赋值//=
:整除赋值
a = 10
a += 5
print("加后赋值:", a) # 输出 15
a *= 2
print("乘后赋值:", a) # 输出 30
a /= 3
print("除后赋值:", a) # 输出 10.0
位运算符
&
:按位与|
:按位或^
:按位异或~
:按位取反<<
:左移>>
:右移
a = 10 # 二进制 1010
b = 3 # 二进制 0011
print("按位与:", a & b) # 输出 2 (1010 & 0011 = 0010)
print("按位或:", a | b) # 输出 11 (1010 | 0011 = 1011)
print("按位异或:", a ^ b) # 输出 9 (1010 ^ 0011 = 1001)
print("按位取反:", ~a) # 输出 -11 (按位取反)
print("左移:", a << 1) # 输出 20 (左移一位)
print("右移:", a >> 1) # 输出 5 (右移一位)
逻辑运算符
and
:逻辑与or
:逻辑或not
:逻辑非
a = True
b = False
print("逻辑与:", a and b) # 输出 False
print("逻辑或:", a or b) # 输出 True
print("逻辑非:", not a) # 输出 False
成员运算符
in
:检查某个值是否是序列(如列表、元组或字符串)的成员not in
:检查某个值是否不是序列的成员
a = [1, 2, 3]
print("成员身份测试:", 2 in a) # 输出 True
print("非成员身份测试:", 4 not in a) # 输出 True
身份运算符
is
:比较两个对象是否是同一个对象(即比较它们的内存地址)is not
:比较两个对象是否不是同一个对象
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print("身份测试:", a is b) # 输出 True (a 和 b 引用同一个对象)
print("非身份测试:", a is not c) # 输出 True (a 和 c 引用不同的对象)
运算符优先级
Python中的运算符具有不同的优先级,比如算术运算符的优先级高于比较运算符,比较运算符的优先级高于逻辑运算符。你可以使用括号()
来改变默认的运算符优先级。
举例子
假设我们有一个简单的任务:计算两个数的和、差、乘积、以及它们的和是否大于某个特定值,并基于这个条件打印一条消息。
# 定义两个数
a = 10
b = 5
# 使用算术运算符
sum_ab = a + b # 加法
difference_ab = a - b # 减法
product_ab = a * b # 乘法
# 使用比较运算符
is_sum_greater = sum_ab > 15 # 检查和是否大于15
# 使用逻辑运算符和成员运算符(尽管在这个例子中,我们并不直接使用成员运算符)
# 但为了完整性,我们可以设想一个使用成员运算符的场景
# 例如,检查一个数是否在某个列表中
numbers_list = [10, 15, 20]
is_sum_in_list = sum_ab in numbers_list # 但实际上,这个和不在列表中
# 使用赋值运算符来更新一个值(这里仅作展示,不实际更新)
# new_value = a + 10 # 假设的赋值操作
# 使用if语句和逻辑运算符来基于条件打印消息
if is_sum_greater:
print(f"{a} + {b} 的和是 {sum_ab},大于15。")
else:
print(f"{a} + {b} 的和是 {sum_ab},不大于15。")
# 注意:我们没有在这个例子中使用位运算符或身份运算符,
# 因为它们通常用于更具体的场景(如位操作或对象身份比较)。
# 额外的:使用not运算符来反转条件
if not is_sum_in_list:
print(f"{sum_ab} 不在列表中。")
这个示例涵盖了算术运算符、比较运算符、逻辑运算符的使用,并通过if
语句展示了基于条件执行代码的能力。注意,虽然在这个例子中我们没有直接使用成员运算符in
进行逻辑上的“运算”,但它是Python中一个重要的运算符,常用于检查值是否存在于序列中。同样,身份运算符is
和is not
在这个例子中也没有直接用到,但它们在比较对象身份时非常有用。