Python:或且(与)非 : 逻辑运算和位运算
在Python中,或(or
)、与(and
)和非(not
)是逻辑运算符,而位运算是直接对二进制位进行的运算。逻辑运算符的优先级高于位运算。
逻辑运算的结果是布尔值(True或False),而位运算的结果是数值。
以下是一些示例:
# 逻辑运算
a = True
b = False
# or
result_or = a or b # True
# and
result_and = a and b # False
# not
result_not = not a # False
# 位运算
x = 5 # 二进制表示为 101
y = 6 # 二进制表示为 110
# or (|)
result_or_bitwise = x | y # 111, 十进制表示为 7
# and (&)
result_and_bitwise = x & y # 100, 十进制表示为 4
# xor (^)
result_xor_bitwise = x ^ y # 111, 十进制表示为 7
# not (~)
result_not_bitwise = ~x # -6 二进制表示为 11111111111111111111111111111011
# 左移 (<<)
result_left_shift = x << 2 # 20, 二进制表示为 10100
# 右移 (>>)
result_right_shift = x >> 1 # 2, 二进制表示为 101
请注意,位运算符直接对内存中的数值进行操作,不涉及逻辑转换。逻辑运算符or
、and
和not
则涉及到短路逻辑和完全的布尔表达式评估。在使用时,应根据需要选择合适的运算符。
评论已关闭