Iur*_*usa 0 python boolean boolean-operations
也许这是一个非常基本的问题,但对我来说没有任何意义。
如果我做:
In: not(False),(not(False))
Out: (True,True)
Run Code Online (Sandbox Code Playgroud)
因此,基本的逻辑运算True Or True始终为True。
但如果我这样做:
not(False)|(not(False))
Out: False
Run Code Online (Sandbox Code Playgroud)
如果我对第一个条件使用括号:
In: (not(False))|(not(False))
Out: True
Run Code Online (Sandbox Code Playgroud)
如果我使用 Or 而不是 |:
In: not(False)or(not(False))
Out: True
Run Code Online (Sandbox Code Playgroud)
它应该表现得像这样吗?如果是这样,为什么?
not不是函数;它是一个优先级低于|.
not(False)|(not(False))
== not False | (not False) drop (...) around literal False
== not (False | (not False) add (...) implied by operator precedence
== not (False | True) evaluate ``not False``
== not True evaluate ``False | True``
== False evaluate ``not True``Run Code Online (Sandbox Code Playgroud)
但not 确实比 具有更高的优先级or,这是您应该使用的运算符。
not(False)or(not(False)) == not False or (not False)
== (not False) or (not False)
== True or True
== True
Run Code Online (Sandbox Code Playgroud)
该文档按优先级从低到高提供了可用运算符的完整列表。
| 归档时间: |
|
| 查看次数: |
33 次 |
| 最近记录: |