14 python if-statement python-3.x
'Hello ' + ('there' if name is None else name)
Run Code Online (Sandbox Code Playgroud)
相当于
msg = 'Hello '
if name is None:
msg += 'there'
else:
msg += name
Run Code Online (Sandbox Code Playgroud)
相当于这个:
msg = 'Hello '
if name is None:
msg += 'there'
elif name == 'Mr Anderson'
msg += 'Neo'
else:
msg += name
Run Code Online (Sandbox Code Playgroud)
编辑:这里的参考是我想缩小的代码
srepr = '\'Modify '
if self.register == 'p':
srepr += 'Pointer'
elif self.register == 'v':
srepr += 'Value'
else
srepr += 'Unknown'
srepr += ' By ' + str(self.delta) + '\''
Run Code Online (Sandbox Code Playgroud)
tok*_*and 23
msg = "Hi " + ("there" if not name else ("Neo" if name == "Anderson" else name))
Run Code Online (Sandbox Code Playgroud)
警告:我认为这是不可读的,永远不会使用它.
msg = 'Hello ' + (
'there' if name is None else
'Neo' if name == 'Mr Anderson' else
name
)
Run Code Online (Sandbox Code Playgroud)
这是对其他几个答案的重申,但格式更好。我认为这最易读,这就是我将使用的方法。
使用字典执行映射:
srepr = "'Modify " + {"p": "Pointer", "v": "value"}.get(self.register, "Unknown")
Run Code Online (Sandbox Code Playgroud)
(顺便说一句,'\'...'
您可以使用而不是"'...
更多的清晰度。