zoukankan      html  css  js  c++  java
  • python中的for循环底层原理详解+python中for循环的原理

    在这个博客中,我们将讨论Python中循环的原理。
    我们将从一组基本的例子及其语法开始,我们还将讨论与循环相关的else代码块的有用性
    然后我们将介绍迭代对象、迭代设备和迭代设备协议,并学习如何创建我们自己的迭代对象和迭代设备。
    之后,我们将讨论如何使用迭代对象和迭代实现来实现循环,而使用循环通过迭代设备协议来实现循环逻辑。
    最后,我们将为循环反编译一个简单程序,并逐步介绍Python解释器在为循环执行时执行的指令,以满足每个人的好奇心。这些有助于理解用于循环运行时的内部工作原理。
    蟒蛇给循环的
    For语句是Python中执行迭代,的两个语句之一,另一个语句是while。如果您不熟悉Python的迭代,·迭代:那么Python中的while、break和continue语句是一个很好的起点。
    在Python中,for 循环用于遍历迭代对象的所有元素。循环语句段对迭代对象的每个元素项执行一次。目前,我们可以把迭代物体想象成一个物体的集合,我们可以一个接一个地遍历其中的元素。我们将在下一节详细解释迭代和迭代物体。
    简单的循环
    让我们从一个简单的for 循环,开始,因为再调用小发猫API时,需要循环判断状态,它遍历字符串列表并打印每个字符串。
    正如你所看到的,这个循环实际上把列表中的每一个单词都检查了一遍并打印出来。换句话说,在循环,的每次遍历中,变量字被指定为列表中的一个元素,然后执行for语句中的代码块。因为列表是元素的有序序列,所以循环以相同的顺序遍历这些元素。
    为循环加上其他条款
    对于循环,Python中可以选择是否关联一个else子句。else子句中的代码块在for 循环完成之后开始执行,也就是说,在遍历了迭代对象中的所有元素之后。现在让我们看看如何扩展前面的例子,以包括一个else条件(子句)。
    else条款什么时候适用?
    正如你所注意到的,else子句在for 循环完成后执行。其他代码块是什么意思?这份声明不是在对循环执行了同样的方式之后吗?我们经常遇到这样一种情况,当某些条件得到满足时,循环半途而废。如果不满足这个条件,则希望执行另一组语句。我们通常使用布尔-type标记实现,下面是一个例子。
    通话结果:
    对于其他代码块,我们可以避免使用布尔类型标记found _ item。让我们看看如何使用else子句重写上述方法。注意:如果循环的break语句被触发,else块将被跳过。
    因此,else代码块适用于循环,有break语句的情况,我们希望在break条件未触发时执行一些语句。
    否则,与else相关的语句只能在循环的末尾执行。当您在本文的最后一节查看反编译的字节码时,您会看到这一点。
    循环语法
    我们已经看到了一些简单的例子,我们将用循环的语法来结束这一节
    基本上,set _ of _ statements _ 1是为iterable中的每个元素执行的。一旦所有元素被迭代,控制器将跳转到else代码块来执行set _ of _ statements _ 2。
    请注意,else子句是可选的。如果找不到else子句,当遍历完所有元素并且控制器在程序后转到语句时,循环结束。
    迭代对象和迭代器
    迭代对象
    在上一节中,我们使用了术语iteratable来表示循环中的迭代对象。现在,让我们试着理解Python中的iteratable对象是什么。
    在Python中,迭代对象指的是可以为循环迭代的任何对象。这意味着当这个对象作为参数传递给iter()方法时,应该返回一个迭代器。让我们看一些Python中常用的内置迭代的例子。

  • 相关阅读:
    django继承User表导致的问题
    Sublime Text 3 鼠标右键快捷选项 简单且高效
    php所有版本
    windows 安装redis
    php玩弄redis基本操作
    PHP 实现文件下载
    PHP 获取客户端的真实IP
    根据标签内个数,显示隐藏《加载更多》
    ubuntu 安装nginx+php+mysql+phpadmin环境
    面试总结
  • 原文地址:https://www.cnblogs.com/phploser/p/12629675.html
Copyright © 2011-2022 走看看