2024-10-01 07:39:22 发布
网友
在Python中,我经常发现自己在编写以下稍微有些笨拙的代码:
if data['name'] is not None: name = data['name'] # do stuff with 'name' over many lines # hence bothering to rename it at all! $('#myname').text(name)...
前两行是否可以折叠成一行,或者全部在condition语句中?在
这是一种一行完成的方法。我建议你坚持你已经在做的来提高可读性:
for name in (data['name'],) if data['name'] else (): print name
您可以将else与for循环一起使用,它的流程与if语句相同。它看起来很奇怪,比使用if要简单得多。在
在某些情况下,例如字符串名,您可以简单地执行以下操作
name = data['name'] or ''
一种通用的方法是使用if-else速记
或者你愿意的话(我更喜欢上面的一个,因为主要任务在开始,例外情况在结尾)
name = '' if data['name'] is None else data['name']
你可以:
try: name = data['name'] except KeyError: pass
使用该键,如果它不在dict中,将引发并捕获异常。(参考EAFP)
或者使用dict.get方法:
这是一种一行完成的方法。我建议你坚持你已经在做的来提高可读性:
您可以将else与for循环一起使用,它的流程与if语句相同。它看起来很奇怪,比使用if要简单得多。在
在某些情况下,例如字符串名,您可以简单地执行以下操作
一种通用的方法是使用if-else速记
^{pr2}$或者你愿意的话(我更喜欢上面的一个,因为主要任务在开始,例外情况在结尾)
你可以:
使用该键,如果它不在dict中,将引发并捕获异常。(参考EAFP)
或者使用dict.get方法:
^{pr2}$相关问题 更多 >
编程相关推荐