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命令本身在执行之后会 ...
随机推荐
- MySQL分库分表的技巧
分表是分散数据库压力的好方法. 分表,最直白的意思,就是将一个表结构分为多个表,然后,可以再同一个库里,也可以放到不同的库. 当然,首先要知道什么情况下,才需要分表.个人觉得单表记录条数达到百万到千万 ...
- 《C#高效编程》读书笔记04-使用Conditional特性而不是#if条件编译
#if/#endif语句常用来基于同一份源代码生成不同的编译结果,其中最常见的就是debug版和release版.但是这在实际应用中并不是非常友好,因为它们容易被滥用,其代码也难以理解或调试. C#为 ...
- 在MFC对话框中快速集成三维控件
在MFC的对话框中可以方便的集成AnyCAD三维控件(c++版本),遵循一下几步: 1.在对话框资源中增加一个Static控件,ID为IDC_STATIC_3D,并且把它的Notify属性设置为Tru ...
- JQuery基础知识==认识JQuery
jQuery API 中文文档:https://www.jquery123.com/ jQuery Mobile 菜鸟教程:http://www.runoob.com/jquerymobile/jqu ...
- 创建有输出参数的存储过程并在c#中实现DataGridView分页功能
不足之处,欢迎指正! 创建有输出参数的存储过程 if exists(select * from sysobjects where name='usp_getPage1') drop procedure ...
- hadoop集群搭建简要记录
2019/03/09 21:46 准备4台服务器或者虚拟机[centos7],分别设置好静态ip[之所以设置静态ip主要就是为了省心!!!][ centos7下面配置静态IP 参考地址: https ...
- 几百道常见Java初中级面试题
注: 有的面试题是我面试的时候遇到的,有的是偶然看见的,还有的是朋友提供的, 稍作整理,以供参考.大部分的应该都是这些了,包含了基础,以及相对深入一点点的东西. JAVA面试题集 基础知识: ...
- 锁丶threading.local丶线程池丶生产者消费者模型
一丶锁 线程安全: 线程安全能够保证多个线程同时执行时程序依旧运行正确, 而且要保证对于共享的数据,可以由多个线程存取,但是同一时刻只能有一个线程进行存取. import threading v = ...
- C#类型简述
一.值类型 1.布尔类型 bool,范围 true false 2.整数类型 sbyte,范围 -128~127 byte,范围 0~255 short,范围 -32768~32767 ushort, ...
- fancyBox高级进阶用法
最近给客户做的一个项目中,客户要求弹窗的边界与页面某个区块边界平齐,但平齐之后,弹出的窗口就不是居中的情况了,研究之后,认为需要改写fancyBox的fancybox-wrap类中的top属性才能达到 ...