如何在Python中将'if语句'与'or'运算符一起使用

问题描述 投票:-2回答:4

我的列表现在包含一些值,我想检查它是否为空字符串和Null值。所以我使用下面的代码相同,但输出不正确。在检查''空字符串时,输出为``不好''对于'Null'值,它可以正常工作,但对于'空值,则不考虑使用它。任何帮助,将不胜感激。

y=['','']
if ('Null' or '') in y:
    print ('nice')
else:
    print('not nice')
python python-3.x
4个回答
-1
投票

[在编写任何代码之前,请先阅读Python教程。逻辑运算符不是那样工作的。您应该写

if 'Null' in y or '' in y:

-1
投票

尝试下面的代码。

y = ['', '']
if 'Null' in y or '' in y:
    print('nice')
else:
    print('not nice')

-1
投票

or计算两个booleans。在您的情况下,首先评估括号中的语句,然后再评估in,导致其为假。您不需要使用括号。只需这样做:

if 'Null' in y or '' in y:


-2
投票

它对我有用。但是,根据情况,整个情况都会发生变化。

如果您只是这样尝试:

y = ['', '']

if None in y:
    print("nice")

else:
    print("Not Nice")

仅打印'Not Nice'。然后,如果您尝试使用(无或”),则优先级将首先放入()。如果优先权有问题,您可以在此处详细了解。 Precedence Associations

y = ['', '']

if 'Null' or '' in y:
    print("nice")

else:
    print("Not Nice")

现在,if语句中的操作将按如下方式工作:

y中的[[If

'Null'或y中的'',然后在if中打印任何内容声明。

记住python中的None也代表Null值。有关更多详细信息,请访问参考:what-is-the-none-keyword-in-python
© www.soinside.com 2019 - 2024. All rights reserved.