解压缩单值元组的可读约定

时间:2010-09-15 20:19:30

标签: python coding-style tuples

关于解包单值元​​组有一些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()

1 个答案:

答案 0 :(得分:22)

如何使用显式括号表示您正在解包元组?

(value, ) = long().chained().expression().that().returns().tuple()

毕竟explicit is better than implicit