专栏首页玄魂工作室如何学python 第八课 流程控制-For,While,循环语句,函数

如何学python 第八课 流程控制-For,While,循环语句,函数

循环语句

也许你会问,什么是‘循环’?在脚本程序里,循环就是‘在一定情况下一次又一次的执行某些代码’。举个例子来说,假设你很饿,桌上有好多好多个馒头,当你依旧饿的时候,你就会一次又一次的吃馒头。这整个吃过程叫做一个循环(loop),每吃一次的过程叫做一次迭代(iteration)。某些人把loop和iteration都翻译做循环,其实他们是有差异的,就像method和function(method和function的差异还没这么大)。

在正式介绍循环语句之前,我们先学点预备知识。

函数

什么是函数?这是一个不太好回答的问题。我们暂且把函数理解为‘我们传递一些消息进去,就可以获取一些返回信息’的这么一个东西。以下这两个函数将时常和循环一起使用:

range()

len()

我们先介绍一下range()函数。range()函数的返回值取决于我们传给它的参数。Range()函数可以支持1到3个参数,分别会有不同的效果。如果你想知道放上三个参数会有什么效果,可以参考一下这篇文章,写的很不错:

http://www.cnblogs.com/kaituorensheng/archive/2013/01/05/2845524.html

这里我们先使用两个参数的range()函数进行演示,稍后演示一个参数的range()。两个参数的range函数会把第一个参数作为下界,第二个参数作为上界,返回一个含有数值类型的列表:

注意,range函数会包含下界,但不包含上界:

如果我们只给range函数传递一个参数,那么range函数会把下界默认设定成0,把我们传递进去的参数设定为上界。

下面我们来看看len()函数。在本文章的后半部分,我们会使用下面这个变量来辅助演示:

len()函数十分简单。它接收一个变量的名称作为参数,然后返回这个变量的长度,无论这个变量是string类型,list类型亦或是dictionary类型(稍后介绍)。使用演示如下:

我们可以看到,len函数返回了test变量里的元素个数。

现在,让我们把上面那个混起来用试试看:

这看起来可能没什么用。但是,如果你还记得上节课的内容的话,你会发现返回的值恰好是我们的test列表的索引值。这给我们操作特定变量的时候特别的有用。

好了,热身完毕,我们现在开始讲循环。首先从for说起。

For 循环

For循环的厉害之处就在于它可以简便的操纵list里的所有值。另外,for在执行的时候只会循环一次,这也意味着列表结束的时候循环也就结束了。我们先看看它是怎么工作的:

i会再循环的进行过程中,按照顺序,分别取上test列表里的每一个列表项的值,每取一次,就执行一次print i;取过一遍之后,循环也就结束了。现在我们换一种方法实现以上功能:

通过range()与len()的组合,我们实现了和上面完全一样d功能。虽然出处依然没有变化,但是我们现在可以操纵list里的每一个值了。

我们来看看另一个循环语句,while。

While循环

While语句比for语句要灵活,也需要更多的技巧。While语句需要与条件判断语句一起使用,就像我们原先学习过的if语句一样。

While语句只会在两种情况下结束循环,一种情况是你手动把它结束,要么是判断语句反悔了false。如果条件判断语句一直为真,那么循环语句将会一直循环下去,这就是传说中的死循环。我们来试试while语句:

当我们执行它的时候,程序会持续输出”Test is equal to True!”,除非我们手动结束这个过程。以上的语句会得到下面的结果:

篇幅所限,我们只截了一部分上来。除非你刻意这么写(为了某些恶意的目的),死循环这种情况是不应该出现的。好啦,今天就讲到这里。

练习

用各种各样的方式练习今天学到的知识,确保你理解了你学到的东西,而不是在死记硬背。别怕实验,多练才能熟练

本文分享自微信公众号 - 玄魂工作室(xuanhun521),作者:玄魂工作室李三思

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-08-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何学python 第10课 创建自己的函数

    在上一节课里,我们学习了一些关于错误检测和错误处理的知识。这节课我们来学习函数。我们将会介绍什么是函数,以及如何创建函数。 函数是什么? 函数是一系列指令的集合...

    用户1631416
  • Kali Linux Web渗透测试手册(第二版) - 6.2 - 文件包含和文件上传

    thr0cyte,Gr33k,花花,MrTools,R1ght0us,7089bAt

    用户1631416
  • Python黑帽编程2.5 函数

    写了几节的基础知识,真心感觉有点力不从心。这块的内容说实话,看文档是最好的方式,本人的写作水平,真的是找不出更好的写法,头疼。简单带过和没写一样,写详细了和本系...

    用户1631416
  • 宝宝都能学会的python编程教程4:关系运算符与循环

    关系运算符 if 语句 实际应用中的程序,大多不是一撮而就的,而是根据条件不同存在很多分支。 最基本的条件分支结构是if...else...语句即如果。。。否则...

    企鹅号小编
  • python学习笔记 函数

    在python中,函数是一等对象。编程语言理论家把“一等对象”定义为满足以下条件的程序实体:

    py3study
  • 人人都能学会的python编程教程4:关系运算符与循环

    在python当中,if condition1:(注意最后的冒号:)称为“语句头”。冒号:之后另起一行缩进的是“语句体”,语句体的行数不限,但至少有一行,否则需...

    JKXQJ
  • 数学--数论--莫比乌斯反演

    一、莫比乌斯反演涉及知识 1.莫比乌斯函数 2.莫比乌斯的线性筛法 3.狄利克雷卷积 4.莫比乌斯反演详解 5.整除法分块 6.杜教筛

    风骨散人Chiam
  • 深度学习Pytorch检测实战 - Notes - 第1&2章 基础知识

    物体检测技术,通常是指在一张图像中检测出物体出现的位置及对应的类别。我们要求检测器输出5个量:物体类别、

    肉松
  • 图插值激活提高数据高效深度学习的自然精度和鲁棒精度

    原文标题:Graph Interpolating Activation Improves Both Natural and Robust Accuracies ...

    Jarvis Cocker
  • 在腾讯云云函数计算上部署.NET Core 3.1

    云厂商(腾讯云、Azure等)提供了Serverless服务,借助于Serverless,开发人员可以更加专注于代码的开发,减少运维的成本。腾讯云的函数计算提供...

    张善友

扫码关注云+社区

领取腾讯云代金券