在 Python 中,布尔运算符是and, or not
我在文档中没有找到可以将运算符用作语句或函数的任何地方;但这不会引发任何错误?
>>> not(1)
False
但这确实
>>> and(1)
SyntaxError: Invalid Syntax
有什么我遗漏的东西()
可以让它起作用吗?
在 Python 中,布尔运算符是and, or not
我在文档中没有找到可以将运算符用作语句或函数的任何地方;但这不会引发任何错误?
>>> not(1)
False
但这确实
>>> and(1)
SyntaxError: Invalid Syntax
有什么我遗漏的东西()
可以让它起作用吗?
这与它的工作原理相同:
not (True and False)
即,括号充当分组运算符,而不是指示函数调用。在表达式合法的任何地方,括号也是合法的,用于将一个完整的表达式显式组合在一起,可用于覆盖其他运算符的优先级(如(x + y) * z
,与x + y * z
- 后者等效于x + (y * z)
) .
and
需要两个参数,这就是and(1)
语法错误的原因——您只指定了一个参数。 (x) and (y)
,但是,是合法的。
你得到 SyntaxError 是and
因为它是一个二元运算符,而不是因为括号:
(1) and(1)
是合法的 Python 语法。