Python内联Elif可能吗? [英] Python inline elif possible?

查看:91
本文介绍了Python内联Elif可能吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

'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) + '\''

推荐答案

msg = "Hi " + ("there" if not name else ("Neo" if name == "Anderson" else name))

不过,我认为这是很难理解的.

I think that's pretty unreadable, though.

这篇关于Python内联Elif可能吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆