Rau*_*fle 15 python if-statement
假设我有一堆变量,或者是.True或者False.我想在一个if语句中评估一组这些变量,看看它们是否都是False这样的:
if var1, var2, var3, var4 == False:
# do stuff
Run Code Online (Sandbox Code Playgroud)
除此之外不起作用.我知道我可以这样做:
if var1 == False and var2 == False and var3 == False and var4 == False:
# do stuff
Run Code Online (Sandbox Code Playgroud)
但这很难看 - 特别是如果这些if语句在我的代码中会发生很多.有没有什么方法可以使用更清晰的语法进行此评估(如第一个示例)?
phi*_*hag 34
你永远不== True== False应该用(或)测试一个布尔变量.相反,要么写:
if not (var1 or var2 or var3 or var4):
Run Code Online (Sandbox Code Playgroud)
if not any((var1, var2, var3, var4)):
Run Code Online (Sandbox Code Playgroud)
或使用Python的传递性比较:
if var1 == var2 == var3 == var4 == False:
Run Code Online (Sandbox Code Playgroud)
这个怎么样:
# if all are False
if not any([var1, var2, var3, var4]):
# do stuff
Run Code Online (Sandbox Code Playgroud)
要么:
# if all are True
if all([var1, var2, var3, var4]):
# do stuff
Run Code Online (Sandbox Code Playgroud)
这些都很容易阅读,因为它们用简单的英语.
| 归档时间: |
|
| 查看次数: |
46833 次 |
| 最近记录: |