Есть несколько связанных вопросов о распаковке однозначных кортежей, но я хотел бы знать, есть ли предпочтительный метод с точки зрения читабельности для совместного использования и поддержки кода.Я считаю, что это является источником путаницы или неправильного прочтения среди коллег, когда они связаны с длинной цепочкой функций, такой как запрос ORM.
Существует ли какое-либо соглашение для этого, подобное pep8 рекомендациям?Если нет, то какой самый ясный и понятный способ сделать это?
Ниже приведены способы, которые я пробовал, и мои мысли о них.
Два распространенных метода, которые аккуратны, но простыпропустить:
value, = long().chained().expression().that().returns().tuple()
value = long().chained().expression().that().returns().tuple()[0]
Функция будет явной, но нестандартной:
value = unpack_tuple(long().chained().expression().that().returns().tuple())
Может быть, комментирование всегда будет наиболее понятным?
# unpack single-value tuple
value, = long().chained().expression().that().returns().tuple()