Предположим следующее:
def MyFunc(a):
if a < 0:
return None
return (a+1, a+2, a+3)
v1, v2, v3 = MyFunc()
# Bad ofcourse, if the result was None
Каков наилучший способ определения функции, возвращающей кортеж, и все же можно красиво назвать. В настоящее время я могу это сделать:
r = MyFunc()
if r:
v1, v2, v3 = r
else:
# bad!!
pass
Что мне не нравится в этом, так это то, что я должен использовать одну переменную, а затем распаковать ее.
Другим решением является то, что функция может возвращать кортеж, полный Nones, так что вызывающий может красиво распаковать....
Кто-нибудь может предложить лучший дизайн?