我刚刚阅读了关于python的演示文稿,并且我注意到作者错过了元组的圆括号以便迭代的项目,并且让我感到震惊的是我可能倾向于让它们进入。 - PEP-8的读取没有给出确定的答案,如果没有一些讨论,我不想在旧的“显性优于隐性”上“退缩”;所以......
你更喜欢哪个?您认为在这两个等效语句中哪个更具pythonic(将讨论限制在for语句中使用)。>>> # Some setup
>>> x, y, z = 1, 'Hi', True
>>>
>>> #Style 1: Implicit tuple
>>> for i in x, y, z:
print(i)
1
Hi
True
>>> # Style 2: Explicit tuple
>>> for i in (x, y, z):
print(i)
1
Hi
True
>>>
答案 0 :(得分:3)
我明确表示不要这样做。我发现如果将元组分配给描述性变量,代码可读性会提高。
例如:
for name in relative_names:
print name
VS
for name in "Tyler", "Robert", "Marla", "Chloe", "Lou":
print name
答案 1 :(得分:1)
我总是喜欢:
>>> # Some setup
... some_values = 1, 'Hi', True,
>>>
>>> # Style 3: named tuple
... for value in some_values:
... print(value)
...
1
Hi
True
答案 2 :(得分:0)
在这种情况下,显式优于隐式,元组应该是显而易见的。
我认为有更大的鱼可以炸了:)在任何一种情况下,任何人都会知道你在做什么,这是一个微小的变化。
答案 3 :(得分:0)
我选择 Style 2 ,因为你可以真正理解你在迭代的内容:
>>> # Style 2: Explicit tuple
>>> for i in (x, y, z):
print(i)
由于某些原因,样式1对我来说似乎有点混乱。