关于解包单值元组有一些related questions,但我想知道在共享和维护代码的可读性方面是否存在首选方法。当他们涉及像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()
答案 0 :(得分:22)
如何使用显式括号表示您正在解包元组?
(value, ) = long().chained().expression().that().returns().tuple()