gpt4 book ai didi

python - 对于可能返回 None 的方法,哪种返回方式是 "better"?

转载 作者:太空宇宙 更新时间:2023-11-04 07:04:15 25 4
gpt4 key购买 nike

如果查找失败,我有一个方法将返回一个对象或 None。以下哪种风格比较好?

def get_foo(needle):
haystack = object_dict()
if needle not in haystack: return None
return haystack[needle]

或者,

def get_foo(needle):
haystack = object_dict()
try:
return haystack[needle]
except KeyError:
# Needle not found
return None

我自己也不确定哪个更受欢迎。另一种选择是 return haystack[needle] if needle in haystack else None,但我不确定这是否更好。

最佳答案

对于这个特定的例子,它看起来像 dict 方法 get是最简洁的:

def get_foo(needle):
haystack = object_dict()
return haystack.get(needle)

一般来说,在 Python 中,人们倾向于使用 try/except 而不是先检查某些东西 - 请参阅 EAFPglossary 中输入.请注意,许多“成员资格测试”功能在幕后使用异常。

我不会就多次返回或替代方案的相对优点展开激烈的争论:)

关于python - 对于可能返回 None 的方法,哪种返回方式是 "better"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3042627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com