Python if(a&!b):语法?

时间:2018-12-13 23:33:14

标签: python python-3.x

什么是语法?

 if(a & !b): 

我已经使用JavaScript一段时间了,似乎无法回忆起如何指定!b

2 个答案:

答案 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,则会得到True2 and not 0-> 2 and True-> {{1 }}。

对于JavaScript中的True,Python的&&执行短路评估,因此如果左手为and,则不会评估右手边,如果左侧是真实的,右侧按原样返回(不转换为bool)。

答案 1 :(得分:1)

如果它们代表AND和否定符

if(a & !b): 
    ...

然后在Python中可以表示为:

if a and not b:
    ...