您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > Python

Python流程控制语句详解

时间:2020-12-15 09:39:02  来源:  作者:

1.程序结构

计算机在解决问题时,分别是顺序执行所有语句、选择执行部分语句、循环执行部分语句,分别是:顺序结构、选择结构、循环结构。如下图:

Python流程控制语句详解

 

2.选择语句

2.1最简单的if语句

Python使用保留字if来组成选择语句,其格式如下:

if 表达式:
   代码块

表达式可以是一个单纯的布尔值或者变量,也可以是比较表达式或者逻辑表达式,如果表达式值为真,则执行“代码块”;如果值为假,就跳过“代码块”,执行后面语句,如图

Python流程控制语句详解

 

注:1.在Python中,当表达式的值为非零的数或者非空的字符串时,if语句也认为是条件成立(即为真值)。

·· 2.使用if语句时,如果只有一条语句,那么语句块可以直接写到冒号“:”的右侧。但为了代码可读性不建议这么做。

3.常见错误:

1.if语句后面未加冒号
number = 3
if number == 3   #后面未加冒号,正确的是结尾处添加英文半角的冒号:if number == 3:
    print(number)
2.使用if语句时,如果在符合条件时,需要执行多个语句,一定要记得按照逻辑顺序进行代码缩进,否则程序的本意会有变化,但程序不会报错,且bug不容易发现。
代码1:
number = 3
if number == 3:
  print(number)
print('这个是5')
代码2:
number = 3
if number == 3:
  print(number)
  print('这个是5'

2.2.if …… else 语句

Python中提供 if …else 语句来解决两个选择问题,其格式如下:

if 表达式:
    语句块1
else:
    语句块2

使用 if …else 语句时, 表达式可以是一个单纯的布尔值或者变量,也可以是比较表达式或者逻辑表达式,如果表达式值为真,则执行“代码块”;如果值为假,执行else后面的代码块。如图所示:

Python流程控制语句详解

 

技巧:

if…else额语句可以使用条件表达式进行简化,如下:
a = 5
if a > 0:
    b = a
else:
    b = -a
print(b)

简化:
a = 5
b = a if a > 0 else -a
print(b)

注:1. 在使用else 语句时,else一定不可以单独使用,它必须和保留字if一起搭配使用。

2.程序中使用if…else 语句时,如果出现多个if 语句多余else语句的情况,那么该else语句将会根据确定该else 语句属于哪个if语句。

2.3.if…elif…else语句

在开发程序时遇到多选一的情况,则可以使用if …elif…else语句,具体情况如下:

if 表达式1:
    语句块1
elif 表达式2:
    语句块2
elif 表达式3:
    语句块3
…
else:
    语句块n

使用 if …elif…else 语句时, 表达式可以是一个单纯的布尔值或者变量,也可以是比较表达式或者逻辑表达式,如果表达式值为真,则执行语句;如果值为假,则跳过该执行语句,进行下一个elif判断,只有表达式全部为假的情况下,执行else后面的代码块。如图所示:

Python流程控制语句详解

 

注:1. if 和 elif 都需要判断表达式的真假,而 else 则不需要判断;另外 elif 和 elif 都需要跟 if 一起使用,不能单独使用。

2. 使用if语句时尽量避免遵循以下原则:

(1).当使用布尔类型的变量作为判断条件时,假设布尔类型变量为flag,较为规范格式;
if flag:   #表示为真
if not flag #表示为假
不符合规范格式:
if flag == True:
if flag == False:
(2).使用 " if 1 == a: " 这样的书写格式可以防止错写成 " if  a = 1: "这种形式,从而避免出错 

2.4 if 语句的嵌套

前面已经介绍了3种形式的 if 语句,这三种都可以进行相互嵌套:

(1) . 在最简单的if语句中嵌套 if……else语句,形式如下:

if 表达式1:
    if 表达式2:
        语句块1
    else:
        语句块2

(2). 在if……else中嵌套 if……else 语句,形式如下:

if 表达式1:
    if 表达式2:
        语句块1
    else:
        语句块2
else:
    if 表达式3:
        语句块3
    else:
        语句块4

注:if 选择语句可以有多种嵌套方式,开发时可以可以根据自身的需要进行选择合适的嵌套方式,但一定要严格控制好不同级别代码的缩进量。

3.条件表达式

在程序开发过程中,经常会根据表达式的结果,有条件的进行赋值,例如返回最大值:

a = 6
b = 3
if a > b:
    c = a
else:
    c = b

针对以上代码,使用条件表达式进行简化,如下:

a = 6
b = 3
c = a if a > b else b

4.循环语句

4.1 while 循环

while循环是通过一个条件来控制是否要继续反复执行循环体(循环体是指一组被重复执行的语句)中的语句。

while 条件表达式:
    循环体

当条件表达式的返回值为真时,则执行循环体中的语句,执行完毕后,重新判断条件表达式的返回值,直到表达式返回的结果为假是退出循环体。

Python流程控制语句详解

 

注:在使用while循环语句时,一定不要忘记添加将循环条件改变为Flase的代码,否则,将产生死循环。但开发中也离不开死循环,可根据情况进行编写。

4.2. for循环

for 循环是一个依次重复执行的循环,通常适用于枚举、遍历序列和对象中的元素。语法如下:

for 迭代变量 in 可迭代对象:
    循环体

迭代变量用于保存读除的值,对象为遍历或迭代的对象,该对象可以是任何有序的序列对象,如字符串,列表,元组等,循环体为一组被重复执行的语句。

Python流程控制语句详解

 

for循环语句可以最基本的应用就是进行数值循环和遍历字符串。还可以进行遍历列表、元组、集合和字典。

4.3. 循环嵌套

在Python中,是允许在一个循环体中嵌套另一个循环。

(1). 在while循环中嵌套while循环

while 条件表达式1:
    while 条件表达式2:
        循环体2
    循环体1

(2). 在for 循环中嵌套 for 循环

for 迭代变量1 in 对象1:
    for 迭代变量2 in 对象2:
        循环体2
    循环体1

(3). 在while 循环中嵌套 for 循环

while 条件表达式:
    for 迭代变量 in 对象:
        循环体2
    循环体1

(4). 在 for 循环中嵌套 while 循环

for 迭代变量 in 对象:
    while 条件表达式:
        循环体2
    循环体1

特殊案例:九九乘法表

for i in range(0,10):
    for j in range(1,i+1):
        print(str(j) + "*"  + str(i) + "=" + str(i * j) +"t" ,end = " "
    print("")

5.跳转语句

当循环满足一定条件时,程序会一直执行下去,如果需要在中间离开循环,也就是for循环结束重复之前,或者while循环找到结束条件之前,即break语句和continue语句。

5.1 break语句

break可以终止当前循环,包括for循环和while循环在内的所有控制语句。

在while中使用break语句:

while 条件表达式1:
    执行语句
    if 条件表达式2:
        break

在for 中使用break语句

for 迭代变量 in 对象:
    if 条件表达式:
        break
Python流程控制语句详解

 

while语句使用break for语句中使用break

5.2.continue语句

continue语句的作用没有break语句强大,他只能终止本次循环而提前进入下次循环中。

在while中使用continue语句

while 条件表达式1:
    执行代码
    if 条件表达式2:
        continue

在for 中使用continue语句

for 迭代变量 in 对象:
    if 条件表达式:
        continue
Python流程控制语句详解

 

while语句使用continue for语句中使用continue

注:break与continue的区别

break语句一般会结合if 语句进行搭配使用,表示在某种条件下,跳出循环。如果使用嵌套循环,break语句将跳出最内层循环。

continue语句一般也会结合if语句进行搭配使用,表示在某种条件下,跳出当前循环的剩下语句,继续进行下一轮循环,如果使用嵌套循环,continue语句将只跳过最内层循环中剩余语句。

6.pass语句

在Python中pass语句表示空语句,它不做任何事情,一般起到站位作用,常用在代码调试等。

#例:
for i in range(1,10):    #输出1~10的数不包含10
    if i % 2 == 0:         #判断是否是偶数   
        print(i,end="")     #在同一行打印偶数 
    else:                      #不是偶数
        pass                    #占位符,不做任何事情,直接跳过

#输出结果为:
2 4 6 8


Tags:Python   点击:()  评论:()
声明:本站部分内容来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除,谢谢。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
1.程序结构计算机在解决问题时,分别是顺序执行所有语句、选择执行部分语句、循环执行部分语句,分别是:顺序结构、选择结构、循环结构。如下图: 2.选择语句2.1最简单的if语句Pyth...【详细内容】
2020-12-15   Python  点击:(0)  评论:(0)  加入收藏
今天和大家聊聊有关Python线程的相关知识,大家都知道线程是有生命周期的,因为当线程被创建运行之后,它并不是一直处于执行状态的,每个线程都会有一个由出生到死亡的过程,而对于P...【详细内容】
2020-12-14   Python  点击:(1)  评论:(0)  加入收藏
最近打算使用Python实现Linux自动化执行Shell命令,于是研究了一下Facbic库,Fabric是一个Python的库,提供了丰富的同SSH交互的接口,可以用来在本地或远程机器上自动化、流水化地...【详细内容】
2020-12-11   Python  点击:(4)  评论:(0)  加入收藏
导读:循环语句是指重复执行同一段代码块,通常用于遍历集合或者累加计算。Python中的循环语句有while语句、for语句。作者:黄传禄 张克强 赵越 来源:华章科技 01 while循环循环语...【详细内容】
2020-12-11   Python  点击:(4)  评论:(0)  加入收藏
专注Python、AI、大数据,请关注公众号七步编程!在不同公司的许多人可能出于各种原因需要从Internet收集外部数据:分析竞争,汇总新闻摘要、跟踪特定市场的趋势,或者收集每日股票价...【详细内容】
2020-12-10   Python  点击:(6)  评论:(0)  加入收藏
日常对于批量处理文件的需求非常多,用Python写脚本可以非常方便地实现,但在这过程中难免会和文件打交道,第一次做会有很多文件的操作无从下手,只能找度娘。本篇文章整理了10个P...【详细内容】
2020-12-10   Python  点击:(9)  评论:(0)  加入收藏
我们在写爬虫代码时,常常需要各种分析调试,而且每次直接用代码调试都很麻烦所以今天给大家分享一个工具,不仅能方便模拟发送各种http请求,还能轻松调试,最重要的是,可以将调试最终...【详细内容】
2020-12-07   Python  点击:(8)  评论:(0)  加入收藏
记录一下如何用python爬取app数据,本文以爬取抖音视频app为例。编程工具:pycharmapp抓包工具:mitmproxyapp自动化工具:appium运行环境:windows10思路:私信小编01即可获取大量Pytho...【详细内容】
2020-12-02   Python  点击:(8)  评论:(0)  加入收藏
1 前言最近需要频繁读写 excel 文件,想通过程序对 excel 文件进行自动化处理,发现使用 python 的 openpyxl 库进行 excel 文件读写实在太方便了,结构清晰,操作简单。本文对 open...【详细内容】
2020-12-01   Python  点击:(14)  评论:(0)  加入收藏
导读:条件语句是指根据条件表达式的不同计算结果,使程序流转至不同的代码块。Python中的条件语句有——if语句、if… else…语句。...【详细内容】
2020-11-23   Python  点击:(5)  评论:(0)  加入收藏
时间序列数据在许多不同的行业中都非常重要。它在研究、金融行业、制药、社交媒体、网络服务等领域尤为重要。对时间序列数据的分析也变得越来越重要。在分析中有什么比一...【详细内容】
2020-11-20   Python  点击:(6)  评论:(0)  加入收藏
什么是数据科学数据科学通常被描述为统计和编程的交集。在本文中,我们讲介绍如何在你的电脑上设置立专业数据科学环境,这样你就可以开始动手实践与流行的数据科学库!什么是...【详细内容】
2020-11-12   Python  点击:(6)  评论:(0)  加入收藏
背景今天双十一,昨晚有好多电商行业的 IT 工程师们挑灯夜战,为这个全民狂欢的购物节护航。还记得三年前我们公司一个产品上线前一周时,办公室内拉起“跟 Bug 死扛到底”的横幅,B...【详细内容】
2020-11-11   Python  点击:(10)  评论:(0)  加入收藏
编写一个 Python 程序,每次下载压缩包形式的文件后,自动将内部文件解压到当前文件夹后将压缩包删除,通过本案例可以学到的知识点:...【详细内容】
2020-11-10   Python  点击:(4)  评论:(0)  加入收藏
> Figure 1: The Monte Carlo Simulation method is used in many industries, from the stock market to finance, energy, banking, and other forecasting models. | So...【详细内容】
2020-11-10   Python  点击:(5)  评论:(0)  加入收藏
python中引号引起来的就是字符串索引索引(下标)通过索引下标可以精确的地位到某个元素 # 变量名未 titl的字符串title = 'python最NB'print(title[0])# 控制台输出 pp...【详细内容】
2020-11-05   Python  点击:(7)  评论:(0)  加入收藏
元素都为真接受一个可迭代对象,如果可迭代对象的所有元素都为真,那么返回 True,否则返回False 元素至少一个为真接受一个可迭代对象,如果可迭代对象里至少有一个元素为真,那么返...【详细内容】
2020-11-05   Python  点击:(8)  评论:(0)  加入收藏
当你学习不熟悉的新东西的时候,一旦发现某样东西有效,那么你就会坚持使用它而放弃探索更多的可能性。在Python中,那样东西就是列表。使用列表的感觉就像是在一直重复你最喜欢的...【详细内容】
2020-11-03   Python  点击:(5)  评论:(0)  加入收藏
有没有想过用python写一个文件管理程序?听起来似乎没思路?其实是可以的,因为python已经为你准备好了神器os.walk,进来看看吧!python中os.walk是一个简单易用的文件、目录遍历器,可...【详细内容】
2020-11-02   Python  点击:(5)  评论:(0)  加入收藏
说一下 python 一般工程的目录结构一般习惯这样规划目录,在开始一个工程前,最好先把目录结构规划好。一、为什么要有一个比较清晰的目录结构此处省略一万字......二、介绍一个...【详细内容】
2020-10-30   Python  点击:(10)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条