学习完python的基础与数据后,我们就可以编写一些简单的命令了。但这时我们发现,目前位置写出来的程序都是自上而下顺序地执行的。要想程序改变这种自上而下的流程多一点变化,我们就要学习三种程序中的语句。而程序执行命令的顺序就叫作程序的控制流。

一、if语句(条件选择)

if语句主要由if关键词、条件表达式、执行代码组成,它可以让程序根据条件选择不同的执行代码。

1、语法:if...elif...else

2、三元操作符:如果我们的if代码段的逻辑是十分简单的,这时候我们就可以考虑使用python中的三元操作符。三元操作符可以让我们用一行来完成if代码段的条件判断与赋值操作。

三元操作符语法:X if Y else Z

示例:

以上代码可以改成三元操作符表示:

二、while语句(条件循环)

while语句是python循环语句的一种,主要由while关键字、条件表达式、执行代码组成。while语句是根据条件来判断是否循环,while会执行代码块直到条件不为真为止。

while循环一般有两种用法:

(1)计数循环:

示例:

计数循环一般在开始循环前有一个计数器,每一次循环后都会对计数器进行一次运算,而且条件表达式也是与计数器的比较,为了达到相应条件的时候可以退出循环。

2、无限循环

当while循环中的条件表达式永远为真的时候,这个while循环就变成一个无限循环了。

示例:

ctrl + c可以引发KeyboardInterrupt异常来中止循环。我们常见的服务器就是用无限循环来监听客户端的请求的,当有请求来的时候就接受请求开始服务,否则会一直监听相应端口。

三、for语句(迭代循环)

for循环是一种强大且常用的循环语句,它主要用来遍历一个可迭代的对象的所有成员。for循环是while计数循环的升级版,一般需要用计数循环的地方先考虑用for循环。

1、语法:for item in iterable:

  code block

2、可迭代对象(iterable)与迭代器(iterator)

iterable包括但不限于iterator。

iterable最大的特征是可以用for循环迭代。

iterator一个最大的特征是它有一个next()方法,用来不断返回下一条目,直到返回最后一个成员后抛出StopInteration异常为止。iterator一个最大的作用就是节省内存空间,如果一个列表有10万个元素,它在内存中占的空间就很大,如果把它变成一个iterator,在用时才去迭代,这样会很节省内存空间。

两者的关系:

当有需要时可用iter()函数转换成iterator。

四、range()函数

说到for循环,就不得不提range()函数。

1、语法:range(start,end,step=1),range()可以生成一个数字组成的列表,里面的数字是:从start到end但不包括end,每step取一个。它与切片类似,可以正向取数和反向取数。

示例:

同样,取数方向与step正负不一致会导致生成空列表,

示例:

五、break:用于循环语句中,用来中断并退出循环,常搭配if使用。

六、continue:用于循环语句中,用来中断并退出这一轮的循环,常搭配if使用。

——————本篇完!

9、python中的控制流的更多相关文章

  1. 归纳整理Python中的控制流语句的知识点

    归纳整理Python中的控制流语句的知识点 Python 解释器在其最简单的级别,以类似的方式操作,即从程序的顶端开始,然后一行一行地顺序执行程序语句.例如,清单 1 展示了几个简单的语句.当把它们键 ...

  2. python中的控制流

    ifpython条件语句是通过一条或多条语句的执行结果(True或false)来决定执行的代码块 if语句用于控制程序的执行,基本形式为:if 判断条件:执行语句....elif判断语句:执行语句.. ...

  3. Python基础之控制流

    介绍一些Python的基本的东西,你会发现,Python真的很简单.我也尽可能说得简单一些,因为我理解的也很简单. 在到目前为止我们所见到的程序中,总是有一系列的语句,Python忠实地按照它们的顺序 ...

  4. 《python解释器源码剖析》第11章--python虚拟机中的控制流

    11.0 序 在上一章中,我们剖析了python虚拟机中的一般表达式的实现.在剖析一遍表达式是我们的流程都是从上往下顺序执行的,在执行的过程中没有任何变化.但是显然这是不够的,因为怎么能没有流程控制呢 ...

  5. Python中的并发编程

    简介 我们将一个正在运行的程序称为进程.每个进程都有它自己的系统状态,包含内存状态.打开文件列表.追踪指令执行情况的程序指针以及一个保存局部变量的调用栈.通常情况下,一个进程依照一个单序列控制流顺序执 ...

  6. 可爱的 Python : Python中函数式编程,第一部分

    英文原文:Charming Python: Functional programming in Python, Part 1 摘要:虽然人们总把Python当作过程化的,面向对象的语言,但是他实际上包 ...

  7. python中的协程及实现

    1.协程的概念: 协程是一种用户态的轻量级线程.协程拥有自己的寄存器上下文和栈. 协程调度切换时,将寄存器上下文和栈保存到其他地方,在切换回来的时候,恢复先前保存的寄存器上下文和栈. 因此,协程能保留 ...

  8. 协程及Python中的协程

    1 协程 1.1协程的概念 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程.(其实并没有说明白~) 我觉得单说协程,比较抽象,如果对线程有一定了解 ...

  9. 【python中调用shell命令使用PIPE】使用PIPE作为stdout出现假卡死的情况——将stdout重定向为输出到临时文件

    在Python中,调用:subprocess.Popen(cmd, stdout = PIPE, stderr = PIPE, shell= true)的时候,如果调用的shell命令本身在执行之后会 ...

随机推荐

  1. js 限制文本框不能输入单引号

    <input onkeydown="if(event.keyCode==32||event.keyCode==188||event.keyCode==222){return false ...

  2. Spring整合Struts2 XML版

    1.jar包 <!--spring配置--> <dependency> <groupId>org.springframework</groupId> & ...

  3. Handler: Service中使用Toast

    Handler 的使用在 android App 开发中用的颇多,它的作用也很大,使用 Handler 一般也会使用到多线程,相信大家对 Handler 不会陌生,在这里,重点说一下 android ...

  4. 构建第一个Spring Boot2.0应用之集成dubbo上---环境搭建(九)

    一.环境: Windows: IDE:IntelliJ IDEA 2017.1.1 JDK:1.8.0_161 Maven:3.3.9 springboot:2.0.2.RELEASE Linux(C ...

  5. ubuntu 16.04安装nVidia显卡驱动和cuda/cudnn踩坑过程

    安装深度学习框架需要使用cuda/cudnn(GPU)来加速计算,而安装cuda/cudnn,首先需要安装nvidia的显卡驱动. 我在安装的整个过程中碰到了驱动冲突,循环登录两个问题,以至于最后不得 ...

  6. 《Unity預計算即時GI》笔记:二、光照图

    说明 这篇文章是对<Unity預計算即時GI>这个系列文章的笔记. 光照图 什么是光照图 光照图在第三章中有如下的定义,读起来很是费解. 一個光照圖(Chart)是表示一個光照貼圖的區域, ...

  7. Node.js | 你的物联网系统,有个管家待认领

    很多时候,专业的事情都要交给专业的人来做,才会更放心. 例如买了套房,交房装修完毕,欢天喜地入住后,房子的日常养护和维护之类的事情,都由谁来负责呢? 物业呗~买了房子就自然需要房子所在小区提供的物业服 ...

  8. PHP snippets

    Friendly file size string public static function bytesToSize($bytes) { if ($bytes < 1024) { retur ...

  9. pat乙级1034

    1.vs2013不能用scanf,改为scanf_s,但是提交时不能用scanf_s,用scanf... scanf_s(], &a[], &b[], &b[]); 2.c++ ...

  10. linux 命令——40 wc (转)

    Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数. ...