📅  最后修改于: 2023-12-03 15:34:27.246000             🧑  作者: Mango
在Python中,有几个位操作符,这些位操作符在整数的二进制形式上进行操作,并且返回整数。
按位与运算符(&)接受两个参数,将它们的二进制数对位比较,并返回一个新的整数,其中每一位只有两个参数都为1时才为1。
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = a & b # 12 = 0000 1100
print("Line 1 - c 的值为:", c)
输出结果:
Line 1 - c 的值为: 12
按位或运算符(|)接受两个参数,将它们的二进制数对位比较,并返回一个新的整数,其中每一位只要有一个参数为1时就为1。
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = a | b # 61 = 0011 1101
print("Line 1 - c 的值为:", c)
输出结果:
Line 1 - c 的值为: 61
按位异或运算符(^)接受两个参数,将它们的二进制数对位比较,并返回一个新的整数,其中每一位只有一个参数为1时才为1。
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = a ^ b # 49 = 0011 0001
print("Line 1 - c 的值为:", c)
输出结果:
Line 1 - c 的值为: 49
按位取反运算符(~)只接受一个参数,将它的二进制数按位取反,并返回一个新的整数。
a = 60 # 60 = 0011 1100
c = ~a # -61 = 1100 0011
print("Line 1 - c 的值为:", c)
输出结果:
Line 1 - c 的值为: -61
左移运算符(<<)接受两个参数,将第一个参数的二进制数向左移动指定次数,并返回一个新的整数。移动后的空位用0填充。
a = 60 # 60 = 0011 1100
b = 2
c = a << b # 240 = 1111 0000
print("Line 1 - c 的值为:", c)
输出结果:
Line 1 - c 的值为: 240
右移运算符(>>)接受两个参数,将第一个参数的二进制数向右移动指定次数,并返回一个新的整数。移动后的空位用0填充。
a = 60 # 60 = 0011 1100
b = 2
c = a >> b # 15 = 0000 1111
print("Line 1 - c 的值为:", c)
输出结果:
Line 1 - c 的值为: 15
在Python中,有三个逻辑操作符:and、or 和 not。这些操作符可以用于任何类型的值,不仅限于布尔类型。
逻辑与运算符(and)接受两个参数。如果两个参数都为真,则返回 true,否则返回 false。
a = 10
b = 20
if (a and b):
print("Line 1 - 变量 a 和 b 都为 true")
else:
print("Line 1 - 变量 a 和 b 有一个不为 true")
输出结果:
Line 1 - 变量 a 和 b 都为 true
逻辑或运算符(or)接受两个参数。如果两个参数中有一个为真,则返回 true,否则返回 false。
a = 10
b = 0
if (a or b):
print("Line 1 - 变量 a 或 b 至少有一个为 true")
else:
print("Line 1 - 变量 a 和 b 都不为 true")
输出结果:
Line 1 - 变量 a 或 b 至少有一个为 true
逻辑非运算符(not)只接受一个参数。如果它的参数为真,则返回 false,否则返回 true。
a = 0
if not a:
print("Line 1 - 变量 a 为 false")
else:
print("Line 1 - 变量 a 为 true")
输出结果:
Line 1 - 变量 a 为 false
在Python中,有两个成员操作符:in 和 not in。这些操作符用于测试一个值是否为另一个值的成员。
如果指定的值在指定的序列中找到,则返回 true,否则返回 false。
a = 10
b = [1, 2, 3, 4, 5]
if a in b:
print("Line 1 - 变量 a 在给定的列表中 b 中")
else:
print("Line 1 - 变量 a 不在给定的列表中 b 中")
输出结果:
Line 1 - 变量 a 不在给定的列表中 b 中
如果指定的值在指定的序列中没有找到,则返回 true,否则返回 false。
a = 10
b = [1, 2, 3, 4, 5]
if a not in b:
print("Line 1 - 变量 a 不在给定的列表中 b 中")
else:
print("Line 1 - 变量 a 在给定的列表中 b 中")
输出结果:
Line 1 - 变量 a 不在给定的列表中 b 中
在Python中,有两个身份操作符:is 和 is not。这些操作符用于比较两个对象的标识,是否为同一个对象。
当且仅当两个变量引用同一个对象时,才返回 true。
a = 10
b = a
if a is b:
print("Line 1 - a 和 b 有相同的标识")
else:
print("Line 1 - a 和 b 没有相同的标识")
输出结果:
Line 1 - a 和 b 有相同的标识
当且仅当两个变量引用不同的对象时,才返回 true。
a = 10
b = 20
if a is not b:
print("Line 1 - a 和 b 没有相同的标识")
else:
print("Line 1 - a 和 b 有相同的标识")
输出结果:
Line 1 - a 和 b 没有相同的标识
以上是Python中的运算符函数介绍。