У меня есть метод, который либо вернет объект, либо None
, если сбой поиска. Какой стиль следующего лучше?Какой стиль возврата «лучше» для метода, который может вернуть 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
, но я не уверен, что это лучше.
Если это действительно было отмечено wiki сообщества? – detly
Я думал, что это правильный способ сделать что-то для «субъективных» сообщений. Это неправильно? – Daenyth
Хороший вопрос. Я не уверен, где линия сама :) – detly