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命令本身在执行之后会 ...
随机推荐
- jQuery实现加载中效果,防止重复提交
//导出表格加载中的提示var dian=0;//控制'●'的个数var t=null;//停止时使用function id_loadspot(loadspotSpan,loadingDiv,expo ...
- 【php】
1 <?php $arr = [ 'a' => 'aaa', ]; $arr2 = $arr; $arr2['a'] = 'ccc'; print_r($arr); print_r($ar ...
- 无法定位程序输入点到_ftol2于动态链接库msvcrt.dll的错误的解决
作者:朱金灿 来源:http://blog.csdn.net/clever101 今天同事在Windows XP系统上运行程序遇到这样一个错误: 我试了一下,在Win7上运行则没有这个错误.只是程序运 ...
- 微信iOS端无法执行jquery on()方法
微信iOS端无法执行jquery on()方法,click方法可以, 如下代码是不会执行的: $(function(){ $('body').on('click','.cka',function(){ ...
- python数据类型、输入输出、运算符、条件判断、循环
变量以及类型 变量:存储程序运行中的数据,变量有3个要素:变量名.变量类型.变量值.python属于弱类型语言,不需要声明变量类型. [root@localhost python]# ipython3 ...
- C++编写字符串类CNString,该类有默认构造函数、类的拷贝函数、类的析构函数及运算符重载
编码实现字符串类CNString,该类有默认构造函数.类的拷贝函数.类的析构函数及运算符重载,需实现以下“=”运算符.“+”运算.“[]”运算符.“<”运算符及“>”运算符及“==”运算符 ...
- 实战:ADFS3.0单点登录系列-前置准备
本文为本系列第二篇,主要分为两部分进行介绍, 一.网络拓扑 二.证书制作 还是将本系列目录贴出来,方便导航 实战:ADFS3.0单点登录系列-总览 实战:ADFS3.0单点登录系列-前置准备 实战:A ...
- python时间转换 ticks-FYI
#设a为字符串 import time a = "2011-09-28 10:00:00" #中间过程,一般都需要将字符串转化为时间数组 time.strptime(a,'%Y-% ...
- selenium显示等待解决浏览器未加载完成查找控件的问题
问题描述:wap版支付成功后,跳转到支付成功页,查找的元素已出现,如图的:元素1,元素2,但是提示查找的元素超时,失败,并且每到这个页面都会报页面超时,不能查找到页面元素 原始代码: try{ op. ...
- python基础一 day17 复习
# 迭代器# 生成器进阶 # 内置函数 # 55个 # 带key的 max min filter map sorted # 思维导图上红色和黄色方法必须会用 # 匿名函数 # lambda 参数,参数 ...