Dae*_*yth 1 python coding-style
我有一个方法,它将返回一个对象或None查找失败.以下哪种风格更好?
def get_foo(needle):
haystack = object_dict()
if needle not in haystack: return None
return haystack[needle]
Run Code Online (Sandbox Code Playgroud)
要么,
def get_foo(needle):
haystack = object_dict()
try:
return haystack[needle]
except KeyError:
# Needle not found
return None
Run Code Online (Sandbox Code Playgroud)
我还没有决定哪个更适合自己.另一个选择是return haystack[needle] if needle in haystack else None,但我不确定那更好.
det*_*tly 10
对于这个特定的例子,看起来这个dict方法get最简洁:
def get_foo(needle):
haystack = object_dict()
return haystack.get(needle)
Run Code Online (Sandbox Code Playgroud)
一般来说,在Python中,人们更倾向于尝试/除了先检查一些东西 - 请参阅词汇表中的EAFP条目.请注意,许多"成员资格测试"功能在幕后使用例外.
我不会对多次退货或替代品的相对优点开始一场火焰战争:)
| 归档时间: |
|
| 查看次数: |
309 次 |
| 最近记录: |