Py学习  »  Python

外观相似的python for循环之间的区别?

satya • 6 年前 • 1982 次点击  

我很好奇

for _ in range(10): #1

环α1 执行不同于

for i in range(10): #2

环α2 执行。他们看起来确实完全一样,但是,我想有一个清晰的了解,知道他们在引擎盖下的功能是否 确切地 相同的?而且,我知道这两种类型的循环何时使用,所以,我是 寻找“何时使用什么”的答案?.

我已经读过了 this question 但是,这并没有提供一个明确的区分,以及两者在幕后的作用。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40771
文章 [ 2 ]  |  最新文章 6 年前
AK47
Reply   •   1 楼
AK47    7 年前

他们都做同样的事

如果变量是可丢弃的,并且通常不在循环中引用,则使用前者

for _ in range(10): #1

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

for i in range(10): #2

这可以归结为python命名约定——在hood下,两个循环的功能完全相同

Gytree
Reply   •   2 楼
Gytree    7 年前

在python中,下划线字符是一个有效的var名称,因此bot代码段是相同的,但具有不同的var名称,比如@ak47,如果不想在循环中使用var,则使用de under score,但是 _ 它是一个有效的变量名,因此可以在循环内使用:

enter image description here

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

enter image description here