Python 中“&”和“and”有什么区别?

Jus*_*n M 6 python operator-keyword

第一个代码给出了True但第二个代码给出了错误

类型错误:& 不支持的操作数类型:“str”和“int”

&Python 中and运算符有什么区别and?不是一样吗?

student = "Justin"
Run Code Online (Sandbox Code Playgroud)

第一个代码

print(student == "Justin" and 1 == 1)
Run Code Online (Sandbox Code Playgroud)

第二个代码

print(student == "Justin" & 1 == 1)
Run Code Online (Sandbox Code Playgroud)

Tua*_*hau 10

&是位与运算符。

1 & 1 = 1
3 & 2 = 2
2 & 1 = 0
Run Code Online (Sandbox Code Playgroud)

whileand是布尔运算符。

您可以使用&布尔表达式并获得正确答案,因为True等于 1 并且False等于 0, 1 & 0 = 0。0 相当于 False,Python 将类型转换为 Boolean。&这就是为什么在使用布尔值时会得到布尔结果

  • 没有类型转换... (2认同)