【问题标题】:Difference between similar looking Python for-loops?外观相似的 Python for 循环之间的区别?
【发布时间】:2019-02-23 15:02:33
【问题描述】:

我很好奇这种方式

for _ in range(10): #1

loop#1执行不同于

for i in range(10): #2

循环#2 执行。它们确实看起来完全一样,但是,我想有一个清晰的了解并知道它们在引擎盖下的功能是否也完全相同相同?另外,我知道何时使用这两种类型的循环,因此,我在寻找“何时使用什么?”的答案。

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

【问题讨论】:

标签: python python-3.x for-loop python-2.x conventions


【解决方案1】:

他们都做同样的事情

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

for _ in range(10): #1

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

for i in range(10): #2

归结为 python 命名约定——在底层,两个循环的功能完全相同

【讨论】:

  • 我要补充一点,_ 按照惯例只是未使用,Python 将其视为有效的可用变量名。
【解决方案2】:

在 python 中,下划线字符是一个有效的 var 名称,因此 bot sn-ps 相同但具有不同的 var 名称,如 @AK47 所说,如果您不想在循环中使用 var,请使用 de under score,但 _ 它是一个有效的 var 名称,因此您可以在循环内使用:

一些框架,如 django,在其代码模式中使用下划线:

【讨论】:

    猜你喜欢
    • 2021-05-12
    • 2019-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-18
    • 1970-01-01
    • 1970-01-01
    • 2016-08-02
    相关资源
    最近更新 更多