Python for循环的本质详解

 更新时间:2026年03月18日 09:54:04   作者:未配妥剑,已入江湖  
本文给大家介绍了Python for循环的本质详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

Python for-in 循环详解:从基础到本质

一、for-in 基本语法:循环 N 次(range() 用法)

for-in 循环的核心是“遍历可迭代对象”,如果想循环固定的 N 次,可以用 range(N) 生成一个从 0 到 N-1 的整数序列。

语法格式

for 变量 in range(N):
    # 循环体代码,会执行 N 次

示例:循环 3 次并打印数字

for i in range(3):
    print(i)  # 输出:0、1、2

说明range(3) 等价于 [0,1,2],变量 i 依次取序列中的每个值,每次取值后执行循环体,直到序列遍历结束。

二、for-in 遍历列表:直接取列表元素

in 后面跟列表时,for-in 会直接遍历列表中的每个元素,无需通过索引访问。

语法格式

for 元素 in 列表:
    # 循环体代码,元素依次等于列表中的每个值

示例:遍历水果列表并打印

fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
    print(fruit)  # 输出:苹果、香蕉、橙子

对比索引遍历:如果用 range(len(列表)),可以通过索引取元素,但 for-in 直接遍历元素更简洁:

# 索引遍历
for i in range(len(fruits)):
    print(fruits[i])  # 效果同上,但代码更长

三、for-in 的本质:循环后变量的值

for-in 循环中,变量是“临时赋值”,每次循环会将可迭代对象的下一个元素赋给变量。循环结束后,变量的值会保留最后一次赋值的结果

示例 1:变量未提前定义

for i in range(3):
    pass  # 空循环,仅执行赋值
print(i)  # 输出:2

示例 2:变量提前定义

即使变量在循环前已定义,循环中仍会被重新赋值,循环后保留最后一个值:

i = 100  # 提前定义 i=100
for i in range(3):
    pass
print(i)  # 输出:2

本质总结:for-in 的变量没有“作用域限制”,循环过程中会覆盖原有值,循环结束后变量不消失,值为最后一次遍历的元素。

四、扩展:其他可迭代对象

for-in 不仅能遍历 range 和列表,还能遍历字符串、元组、字典等可迭代对象,核心逻辑都是“依次取元素赋值给变量”。

示例:遍历字符串

for char in "hello":
    print(char)  # 输出:h、e、l、l、o

到此这篇关于Python for循环的本质详解的文章就介绍到这了,更多相关Python for循环内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • django主动抛出403异常的方法详解

    django主动抛出403异常的方法详解

    这篇文章主要给大家介绍了关于django主动抛出403异常的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • Linux下升级安装python3.8并配置pip及yum的教程

    Linux下升级安装python3.8并配置pip及yum的教程

    这篇文章主要介绍了Linux下升级安装python3.8并配置pip及yum的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • Python模块的加载讲解

    Python模块的加载讲解

    今天小编就为大家分享一篇关于Python模块的加载讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 使用Keras预训练好的模型进行目标类别预测详解

    使用Keras预训练好的模型进行目标类别预测详解

    这篇文章主要介绍了使用Keras预训练好的模型进行目标类别预测详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python入门篇之字符串

    Python入门篇之字符串

    可能大多数人在学习C语言的时候,最先接触的数据类型就是字符串,因为大多教程都是以"Hello world"这个程序作为入门程序,这个程序中要打印的"Hello world"就是字符串。今天我们来了解一下Python中的字符串,看看它的用法。
    2014-10-10
  • 将python打包后的exe还原成py

    将python打包后的exe还原成py

    这篇文章主要介绍了将python打包后的exe还原成py,利用pyinstxtractor.py 拆包(解压)工具,将exe文件解压成一个文件夹<BR>uncompyle6 pyc反编译工具,需要的朋友可以参考一下
    2022-01-01
  • python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)

    python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)

    今天小编就为大家分享一篇python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • python deque模块简单使用代码实例

    python deque模块简单使用代码实例

    这篇文章主要介绍了python deque模块简单使用代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • python使用pygame创建精灵Sprite

    python使用pygame创建精灵Sprite

    这篇文章主要介绍了使用Pygame创建精灵Sprite,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Python中functools模块函数解析

    Python中functools模块函数解析

    这篇文章主要介绍了Python中functools模块的常用函数解析,分别讲解了functools.cmp_to_key,functools.total_ordering,functools.reduce,functools.partial,functools.update_wrapper和functools.wraps的用法,需要的朋友可以参考下
    2017-03-03

最新评论