什么是语法?
if(a & !b):
我已经使用JavaScript一段时间了,似乎无法回忆起如何指定!b
答案 0 :(得分:4)
直接转换(按位and
和逻辑not
)将是:
if a & not b:
与JavaScript中一样,它总是对两个操作数求值并执行按位的and
操作;例如,如果b
为0,而a
为2,则结果将为0(2&1 == 0)。
但是,最有可能的意思是逻辑 and
和逻辑not
,如
if(a && !b)
在Python中,它将是:
if a and not b:
在这种情况下,如果b
为0且a
为2,则会得到True
(2 and not 0
-> 2 and True
-> {{1 }}。
对于JavaScript中的True
,Python的&&
执行短路评估,因此如果左手为and
,则不会评估右手边,如果左侧是真实的,右侧按原样返回(不转换为bool)。
答案 1 :(得分:1)
如果它们代表AND
和否定符
if(a & !b):
...
然后在Python
中可以表示为:
if a and not b:
...