9、python中的控制流
学习完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中的控制流的更多相关文章
- 归纳整理Python中的控制流语句的知识点
归纳整理Python中的控制流语句的知识点 Python 解释器在其最简单的级别,以类似的方式操作,即从程序的顶端开始,然后一行一行地顺序执行程序语句.例如,清单 1 展示了几个简单的语句.当把它们键 ...
- python中的控制流
ifpython条件语句是通过一条或多条语句的执行结果(True或false)来决定执行的代码块 if语句用于控制程序的执行,基本形式为:if 判断条件:执行语句....elif判断语句:执行语句.. ...
- Python基础之控制流
介绍一些Python的基本的东西,你会发现,Python真的很简单.我也尽可能说得简单一些,因为我理解的也很简单. 在到目前为止我们所见到的程序中,总是有一系列的语句,Python忠实地按照它们的顺序 ...
- 《python解释器源码剖析》第11章--python虚拟机中的控制流
11.0 序 在上一章中,我们剖析了python虚拟机中的一般表达式的实现.在剖析一遍表达式是我们的流程都是从上往下顺序执行的,在执行的过程中没有任何变化.但是显然这是不够的,因为怎么能没有流程控制呢 ...
- Python中的并发编程
简介 我们将一个正在运行的程序称为进程.每个进程都有它自己的系统状态,包含内存状态.打开文件列表.追踪指令执行情况的程序指针以及一个保存局部变量的调用栈.通常情况下,一个进程依照一个单序列控制流顺序执 ...
- 可爱的 Python : Python中函数式编程,第一部分
英文原文:Charming Python: Functional programming in Python, Part 1 摘要:虽然人们总把Python当作过程化的,面向对象的语言,但是他实际上包 ...
- python中的协程及实现
1.协程的概念: 协程是一种用户态的轻量级线程.协程拥有自己的寄存器上下文和栈. 协程调度切换时,将寄存器上下文和栈保存到其他地方,在切换回来的时候,恢复先前保存的寄存器上下文和栈. 因此,协程能保留 ...
- 协程及Python中的协程
1 协程 1.1协程的概念 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程.(其实并没有说明白~) 我觉得单说协程,比较抽象,如果对线程有一定了解 ...
- 【python中调用shell命令使用PIPE】使用PIPE作为stdout出现假卡死的情况——将stdout重定向为输出到临时文件
在Python中,调用:subprocess.Popen(cmd, stdout = PIPE, stderr = PIPE, shell= true)的时候,如果调用的shell命令本身在执行之后会 ...
随机推荐
- js 限制文本框不能输入单引号
<input onkeydown="if(event.keyCode==32||event.keyCode==188||event.keyCode==222){return false ...
- Spring整合Struts2 XML版
1.jar包 <!--spring配置--> <dependency> <groupId>org.springframework</groupId> & ...
- Handler: Service中使用Toast
Handler 的使用在 android App 开发中用的颇多,它的作用也很大,使用 Handler 一般也会使用到多线程,相信大家对 Handler 不会陌生,在这里,重点说一下 android ...
- 构建第一个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 ...
- ubuntu 16.04安装nVidia显卡驱动和cuda/cudnn踩坑过程
安装深度学习框架需要使用cuda/cudnn(GPU)来加速计算,而安装cuda/cudnn,首先需要安装nvidia的显卡驱动. 我在安装的整个过程中碰到了驱动冲突,循环登录两个问题,以至于最后不得 ...
- 《Unity預計算即時GI》笔记:二、光照图
说明 这篇文章是对<Unity預計算即時GI>这个系列文章的笔记. 光照图 什么是光照图 光照图在第三章中有如下的定义,读起来很是费解. 一個光照圖(Chart)是表示一個光照貼圖的區域, ...
- Node.js | 你的物联网系统,有个管家待认领
很多时候,专业的事情都要交给专业的人来做,才会更放心. 例如买了套房,交房装修完毕,欢天喜地入住后,房子的日常养护和维护之类的事情,都由谁来负责呢? 物业呗~买了房子就自然需要房子所在小区提供的物业服 ...
- PHP snippets
Friendly file size string public static function bytesToSize($bytes) { if ($bytes < 1024) { retur ...
- pat乙级1034
1.vs2013不能用scanf,改为scanf_s,但是提交时不能用scanf_s,用scanf... scanf_s(], &a[], &b[], &b[]); 2.c++ ...
- linux 命令——40 wc (转)
Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数. ...