'Hello ' + ('there' if name is None else name)
相当于
msg = 'Hello '
if name is None:
msg += 'there'
else:
msg += name
相当于什么:
msg = 'Hello '
if name is None:
msg += 'there'
elif name == 'Mr Anderson'
msg += 'Neo'
else:
msg += name
编辑:作为参考,这里是我要收缩的代码
srepr = '\'Modify '
if self.register == 'p':
srepr += 'Pointer'
elif self.register == 'v':
srepr += 'Value'
else
srepr += 'Unknown'
srepr += ' By ' + str(self.delta) + '\''
不要这样做。
请改为:
编辑:作为参考,这里是我将如何重构这段代码
每当我看到
elif
,我就想到dict
。如果需要为
reference
添加r
,或者为pointer-to-pointer
添加pp
,则只有types
需要更改,并且代码保持可读性。不过,我觉得那很难读。
使用字典执行映射:
(顺便说一下,您可以使用
"'...
来获得更清晰的信息,而不是'\'...'
。相关问题 更多 >
编程相关推荐