在学习了 Python 的基本数据类型后,我们就要开始接触Python程序的控制结构,了解 Python 是如何使用控制结构来更改程序的执行顺序以满足多样的功能需求。如果有的小伙伴在之前学过C语言,java等程序语言后,一定会对此感到很熟悉,因为它们之间是相通的,下面就一起了解 Python 的控制结构吧! 

一、程序的基本结构

程序由三种基本结构组成:顺序结构、分支结构和循环结构。其中:

  1.顺序结构是程序按照线性顺序依次的一种运行方式。

顺序结构

  2.分支结构是程序根据条件判断结果而选择不同向前执行路径的一种运行方式,根据分支路径上的完备性,分支结构包括单分支结构和二分支结构,二分支结构组合形成多分支结构。

                                           

单分支结构                                                                              二分支结构

  3.循环结构是程序根据条件判断结果向后反复执行的一种执行方式,根据循环体条件的不同,循环条件包括条件循环和遍历循环结构。

                                 

条件循环                                                                                                               遍历循环

二、程序的分支结构

1.单分支结构:if语句

Python中 if 语句的语法格式如下:

  if <条件>:

    <语句块>

注:在Java中,if 后的语句块是用大括号进行区分的,而 Python 是使用缩进来区分语句级别,所以在编写 Python 代码时,要慎用缩进!

2.二分支结构:if-else 语句

Python中 if-else 语句用来形成二分支结构,语法格式如下:

  if <条件>:

    <语句块1>

  else:

    <语句块2>

  二分支结构的一种简洁的表达方式: <表达式1> if <条件> else <表达式2>

注:最后一个 else 语句是没有条件的。

3.多分支结构:if-elif-else语句

Python的 if-elif-else 描述多分支语句,语句格式如下:

  if <条件1>:

    <语句块1>

  elif <条件2>:

    <语句块2>

  else:

    <语句块3>

注:与Java不同,Python中没有 else if 语句,而是以 elif 语句来代替相应的功能

三、程序的循环结构

1.遍历循环:for语句

Python使用保留字 for 实现“遍历循环”,基本使用方法如下:

  for <循环变量> in <遍历结构>:

    <语句块>

遍历循环还有一种扩展模式,使用方法如下:

  for <循环变量> in <遍历结构>:

    <语句块1>

  else:

    <语句块2>

在这种循环中,当 for 循环正常执行后,程序会继续执行 else 语句中的内容,因此可以使用<语句块2>来判断循环执行情况。

同时 for 还可以实现遍历功能,遍历结构可以是字符串、列表或range()函数等,如:

  for s in ‘hello‘

    print(s)

  遍历输出”h e  l l  o“

2.无限循环:while 语句

Python通过保留字 while 实现无线循环,基本使用方法如下:

  while <条件>:

    <语句块>

条件判断为 True 时,循环体重复执行语句块中语句;当条件为False时,循环终止,执行与while同级别缩进的后续语句

3.循环保留字:break 和 continue

Python循环结构有两个保留字:breakcontinue,它们用来辅助控制循环执行。其中

  break 用来跳出最内层 for 或 while 循环,脱离该循环后程序从循环代码后继续执行(跳出一层循环)。

  continue 用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环(跳出一次循环)。

以上就是Python程序的控制结构了,在实际运用中,合理地使用它们,可以实现多种功能.

Python学习笔记(四)Python程序的控制结构的更多相关文章

  1. Python学习笔记(四)Python函数的参数

    Python的函数除了正常使用的必选参数外,还可以使用默认参数.可变参数和关键字参数. 默认参数 基本使用 默认参数就是可以给特定的参数设置一个默认值,调用函数时,有默认值得参数可以不进行赋值,如: ...

  2. python 学习笔记 9 -- Python强大的自省简析

    1. 什么是自省? 自省就是自我评价.自我反省.自我批评.自我调控和自我教育,是孔子提出的一种自我道德修养的方法.他说:“见贤思齐焉,见不贤而内自省也.”(<论语·里仁>)当然,我们今天不 ...

  3. python学习笔记(一):python简介和入门

    最近重新开始学习python,之前也自学过一段时间python,对python还算有点了解,本次重新认识python,也算当写一个小小的教程.一.什么是python?python是一种面向对象.解释型 ...

  4. python学习笔记:python对象

    一.python对象 python使用对象模型来存储数据,构造任何类型的值都是一个对象.所有的python对象都拥有三个特性:身份.类型和值. 身份:每个对象都有一个唯一的身份标识自己,对象的身份可以 ...

  5. python 学习笔记一——Python安装和IDLE使用

    好吧,一直准备学点啥,前些日子也下好了一些python电子书,但之后又没影了.年龄大了,就是不爱学习了.那就现在开始吧. 安装python 3 Mac OS X会预装python 2,Linux的大多 ...

  6. python学习笔记(13):python并发编程以及系统常用模块

    一.进程与线程 1.进程:程序的一次执行(程序装载入内存,系统分配资源运行).n 每个进程有自己的内存空间.数据栈等,只能使用进程间通讯,而不能直接共享信息 2.线程:所有线程运行在同一个进程中,共享 ...

  7. python学习笔记(python简史)

    一.python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum) 目前python主要应用领域: ·云计算 ·WEB开发 ·科学运算.人工智能 ·系统运维 ·金融:量化交 ...

  8. 吴裕雄--天生自然python学习笔记:Python CGI编程

    什么是CGI CGI 目前由NCSA维护,NCSA定义CGI如下: CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户 ...

  9. python学习笔记(1)--python特点

    python诞生于复杂的信息系统时代,是计算机时代演进的一种选择. python的特点,通用语言,脚本语言,跨平台语言.这门语言可以用于普适的计算,不局限于某一类应用,通用性是它的最大特点.pytho ...

  10. python学习笔记之——python模块

    1.python模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python ...

随机推荐

  1. Ubuntu中使用Nginx+rtmp搭建流媒体直播服务

    一.背景 本篇文章是继上一篇文章<Ubuntu中使用Nginx+rtmp模块搭建流媒体视频点播服务>文章而写,在上一篇文章中我们搭建了一个点播服务器,在此基础上我们再搭建一个直播服务器, ...

  2. HZOI20190903模拟36 字符,蛋糕,游戏

    题面:https://www.cnblogs.com/Juve/articles/11461528.html A:字符 暴力模拟一下,细节很多,但是暴力思路都不大一样 先枚举循环节长度,然后处理一个b ...

  3. NMS 和 Soft-NMS

    转自https://zhuanlan.zhihu.com/p/42018282 一 NMS NMS算法的大致思想:对于有重叠的候选框:若大于规定阈值(某一提前设定的置信度)则删除,低于阈值的保留.对于 ...

  4. Mysql--数据表碎片优化方法

    碎片产生原因: 大量批量插入和删除操作数据库,基于线性表的顺序存储结构的特点,出现了大量的空间碎片.一.优化步骤: 1.查看整库的情况 2.方便优化 3.整库所有表, 包含行数 索引长度 碎片空间 二 ...

  5. 创建一个欢迎 cookie 利用用户在提示框中输入的数据创建一个 JavaScript Cookie,当该用户再次访问该页面时,根据 cookie 中的信息发出欢迎信息。

    创建一个欢迎 cookie 利用用户在提示框中输入的数据创建一个 JavaScript Cookie,当该用户再次访问该页面时,根据 cookie 中的信息发出欢迎信息. <html> & ...

  6. sas单变量的特征分析

    sas单变量的特征分析 大炮,我有个烦恼,我领导最近老叫我单变量结合因变量分析,但是都是分段分析,我总是写proc sql然后group by ,但是这个过程好无聊啊,有木有什么新的代码,让我可以分析 ...

  7. Struts2启动问题:ClassNotFoundException: org...dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

    错误信息: java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExec ...

  8. Google 和 微软,就不是一个重量级的

    看微软的 WinCE 模拟器,做得带模带样   Google 也不是新来的,但是 Android 模拟器,配置一下都那么费事   这就是差距,Google 比 微软 差了好几级

  9. 五、Hive-HBase接口表性能分析

    设想: Hbase不支持join,不能做复杂统计类: Hive可以. Hive-hbase接口表岂不两全其美? 用户画像表有300个字段,每天都使用: 1.在业务系统里实时根据uid调取用户的画像信息 ...

  10. 解决hive无法传参问题思路

    由于hive执行过程中参数必须写死,无法进行传递参数.利用shell脚本和java编程进行解决 #!/bin/sh#date = `date -d -1days '+%Y-%m-%d'`if [ $# ...