有没有办法,例如用布尔逻辑(或,和,...)或其他方式,来替换成语:
... if foo is not None else None
示例:
foo = int(foo) if foo is not None else None
通过一些不那么多余的东西? (没有任何辅助功能)
注意:不是 Convert to int if not None, else keep None 的重复,这个问题没有很好地集中。
使用
is not None
的表达式对于双重否定看起来很烦人。如果这让您烦恼,您应该将它们重写为 if+else 块。另一种方法是将
None
替换为另一个空值。如果您对
foo
的类型及其可能值有更多了解,您可以使用这个想法。
x = int(foo) if foo is not None else None
x = int(foo or '0') # same as above if foo is a valid str or None