在一个给定的脚本中多次重用一个迭代变量是否被认为是一种不好的做法?

2024-04-20 12:44:10 发布

您现在位置:Python中文网/ 问答频道 /正文

在给定脚本中的多个for循环中重复使用相同的迭代变量名是否被认为是不好的做法?在

例如

for url in urls1:
    print url

for url in urls2:
    print url

for url in urls3:
    print url

我知道url变量的作用域不限于for循环,因此在for循环之外使用url变量可能会使它变得混乱,并且可能更难理解。但我很好奇,有“最佳”实践吗?我应该使用“url1”、“url2”之类的约定吗?还是我想得太多了,只是为了让它更容易理解?在


Tags: in脚本urlfor作用域printurl1url2
3条回答

好的变量名有助于理解程序(并且不与保留名或已知名冲突)。 答案可能只是主观的,但我想说,只要你使用的变量名在所有for循环中的含义相同,就可以了。在

变量的作用域确实不限于for循环,但在执行下一个for循环的第一次迭代时,该值将被覆盖。相反,这样的规定会让人讨厌:

for url1 in urls1:
    print url1
for url2 in urls2:
    print url1, url2

如果您的循环中有很多代码行,其中对iterations变量执行了许多操作,那么最好给它一个唯一的、有意义的名称,特别是当不同的循环迭代不同类型的对象时。在

在其他情况下,如您所提供的示例中,不同循环中的迭代变量表示相同类型的对象,并为其指定相同的名称可以提高代码的可读性。在

所以总而言之,你必须找到一种让你的代码更具可读性的方法。在

我认为这完全取决于上下文。例如,在您的案例中,可以将其写成:

for url in urls1+urls2+urls3:
    print url

但你的例子是为了演示。如果它只是一个循环变量,你想用于迭代,我认为重复使用同一个循环变量没有任何问题。如果你也可以为对方选择一个敏感的名字。例如:

^{pr2}$

相关问题 更多 >