内联元组创建 - 哪个更易读?

时间:2016-04-17 00:36:34

标签: python tuples readability

我试图从可读性角度决定如何处理在方法调用中创建元组。

标准方法似乎很容易忽略元组的括号,特别是如果它在几个嵌套调用中:

Foo(a, b).bar((c, len(d)))

到目前为止,我已经提出了两种不同的方法,我可以很明显地创建一个元组。我可以明确地调用tuple()函数,例如:

Foo(a, b).bar(tuple(c, len(d)))

或者,我可以稍微扩展一行,使元组括号更明显:

Foo(a, b).bar(
    (c, len(d))
)

哪些应该是首选或更多考虑" pythonic&#34 ;?或者有更好的方法来解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

而不是:

Foo(a, b).bar((c, len(d)))

只需展开它:

foo = Foo(a, b)
barparam = (c, len(d))
foo.bar(barparam)

易于阅读,易于修改,修改后易于代码审查。

答案 1 :(得分:0)

我想我更愿意将bar重写为接受两个参数RewriteEngine On RewriteRule ^([^/]*)$ /?prod=$1 [L] 。如果你想在这种情况下使用元组,它可以是

Foo(a, b).bar(c, len(d))