可读的单值元组拆解约定
这里有一些关于如何处理单值元组的问题,大家可以参考一下相关的讨论和最佳实践。我想知道在代码的可读性方面,是否有一种更好的方法,方便大家分享和维护代码。我发现当涉及到像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 个回答
22
你觉得用明确的括号来表示你在拆解一个元组怎么样?
(value, ) = long().chained().expression().that().returns().tuple()
毕竟,明确总比模糊好。