我有简单的 Python 3 表达式:
if a:
b = a
else:
print('error')
但是就我而言,“a”恰好等于一个非常冗长但必要的正则表达式搜索命令(与此处无关。)我可以简化上面的代码,以便:
1) 我不需要为“a”赋值。
2) 我不需要在表达式中两次声明“a”的值。
谢谢!
最佳答案
在 Python 3.8 中,named assignments将介绍让您做的事情:
if a := complicated_expression:
b = a
建议
b = a or b
有效,但要求预先为 b
赋值。此外,如果条件仅检查 a
的真实性,它就会起作用
对于具有任意条件的严格单行,您始终可以使用单例生成器技巧:
b = next((a for a in (complex_expression for _ in '_') if condition(a)), None)
但这应该被视为纯粹的学术性。
关于python - 如何通过IF语句简化变量赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58083015/