相似 Python for 循环之间的区别?

Difference between similar looking Python for-loops?

我很好奇这种方式

for _ in range(10): #1

loop#1 执行不同于

for i in range(10): #2

loop#2执行。它们看起来确实完全一样,但是,我想清楚地了解并知道它们在引擎盖下的功能是否也完全相同?另外,我知道何时使用这两种类型的循环,所以,我 而不是 寻找 "When to use What?" 的答案。

我已经读过 this question,但是,它没有提供明确的区别以及两者在幕后的工作方式。

他们都做同样的事情

如果变量是一次性的并且通常不在循环中引用,则使用前者

for _ in range(10): #1

如果您计划在循环中引用变量名,则使用后者

for i in range(10): #2

它归结为 python 命名约定——在幕后,两个循环以完全相同的方式运行

在 python 下划线字符中它是一个有效的变量名称,因此机器人代码段是相同的但具有不同的变量名称,如@AK47 所说,如果您不想使用变量,请使用 de under score在循环内部,但是 _ 它是一个有效的变量名称,因此您可以在循环内部使用:

像 django 这样的一些框架在它们的代码模式中使用了下划线: