GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • 莫烦PYTHON
  • 学习 ▾
  • 推荐学习顺序
  • 交互式学Python
  • 多进程 multiprocessing
  • 多线程 threading
  • 窗口视窗 Tkinter
  • 有趣的机器学习
  • 强化学习 Reinforcement Learning
  • 进化算法 Evolutionary Algorithm
  • Tensorflow
  • PyTorch
  • Theano
  • Keras

This view

  • Original page
  • New address

GeezerVison is showing mofanpy.com — for 循环 | 莫烦Python

  • 支持

📢

莫烦有新起点啦!「莫烦 x 无限可能」— 关于 AI、行业、产品、教育的经验思考,欢迎来新站看看 →

切换视频源:


« while 循环 if 判断 »

for 循环

作者: 高峰 编辑: 莫烦 发布于: 2016-01-01

在上一讲中我们学习了 while 语句进行循环控制,接下来我们将要学习另一种循环语句 for 。

基本使用¶

不同编程语言都有 for 语言,比如 C# 语言中的 foreach, Java 语言中的 for,在 Python 中的基本使用方法如下。

sequence 为可迭代的对象,item 为序列中的每个对象。

实例¶

输出的结果为 1,2,3,4,5,6,7,12,543,876,12,3,2,5, 内容依次为 example_list 中的每一个元素 注意 Python 是使用缩进表示程序的结构,如果程序这样编写,

那么每次循环都会输出 inner of for,在循环结束后,输出 outer of for 一次。

进阶¶

range使用

在 Python 内置了工厂函数,range 函数将会返回一个序列,总共有三种使用方法

1 range(start, stop)

其中 start 将会是序列的起始值,stop为结束值,但是不包括该值,类似 数学中的表达 [start, stop),左边为闭区间,右边为开区间。

上述表达将会返回 1-9 所有整数,但不包含 10

2 range(stop)

如果省略了 start 那么将从 0 开始,相当于 range(0, stop)

3 range(start, stop, step)

step 代表的为步长,即相隔的两个值得差值。从 start 开始,依次增加 step 的值,直至等于或者大于 stop

将会输出 0, 5, 10。

高级主题¶

4.1 内置集合

Python 共内置了 list、 tuple 、dict 和 set 四种基本集合,每个 集合对象都能够迭代。

tuple 类型

程序将以此按行输出 'python', 2.7 和 64。

dictionary 类型

输出的结果为:platform 64,lan python, version 2.7, 字典在迭代的过程 中将 key 作为可迭代的对象返回。注意字典中 key 是乱序的,也就是说和插入 的顺序是不一致的。如果想要使用顺序一致的字典,请使用 collections 模块 中的 OrderedDict 对象。

set 类型

将会输出 python, python3, python2 set 集合将会去除重复项,注意输出的 结果也不是按照输入的顺序。

4.2 迭代器

Python 中的 for 句法实际上实现了设计模式中的迭代器模式 ,所以我们自己也可以按照迭代器的要求自己生成迭代器对象,以便在 for 语句中使用。 只要类中实现了 __iter__ 和 next 函数,那么对象就可以在 for 语句中使用。 现在创建 Fibonacci 迭代器对象,

将会输出前 5 个 Fibonacci 数据 1,1, 2, 3, 5

4.3 生成器

除了使用迭代器以外,Python 使用 yield 关键字也能实现类似迭代的效果,yield 语句每次 执行时,立即返回结果给上层调用者,而当前的状态仍然保留,以便迭代器下一次循环调用。这样做的 好处是在于节约硬件资源,在需要的时候才会执行,并且每次只执行一次。

将会输出前 5 个 Fibonacci 数据 1,1, 2, 3, 5


降低知识传递的门槛

莫烦经常从互联网上学习知识,开源分享的人是我学习的榜样。 他们的行为也改变了我对教育的态度: 降低知识传递的门槛。

我组建了微信群,欢迎大家加入,交流经验,提出问题,互相帮持。 扫码后,请一定备注"莫烦",否则我不会同意你的入群申请。

wechat
« while 循环 if 判断 »
    教程目录

    Python基础

      安装

    • 安装

      基本使用

    • print 功能
    • 基础数学运算
    • 变量 variable

      while 和 for 循环

    • while 循环
    • for 循环
      • 基本使用
      • 实例
      • 进阶
      • 高级主题

      if 判断

    • if 判断
    • if else 判断
    • if elif else 判断

      定义功能

    • def 函数
    • 函数参数
    • 函数默认参数

      变量形式

    • 全局 & 局部 变量

      模块安装

    • 模块安装

      文件读取

    • 读写文件 1
    • 读写文件 2
    • 读写文件 3

      class 类

    • class 类
    • class 类 init 功能

      input 输入

    • input 输入

      元组, 列表, 字典

    • 元组 列表
    • list 列表
    • 多维列表
    • dictionary 字典

      模块

    • import 模块
    • 自己的模块

      其他

    • continue & break
    • try 错误处理
    • zip lambda map
    • copy & deepcopy 浅复制 & 深复制
    • threading 什么是多线程
    • multiprocessing 什么是多进程
    • 什么是 tkinter 窗口
    • pickle 保存数据
    • set 找不同
    • 正则表达式
    You are visitor 01402503 — GeezerVison does not store the pages you look up.
    Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.