Python流程控制语句的深入讲解

作者:我兜里有块糖 时间:2023-12-01 00:06:31 

目录
  • 1.程序结构

  • 2.选择语句

    • 2.1最简单的if语句

    • 2.2.if …… else 语句

    • 2.3.if…elif…else语句

    • 2.4 if 语句的嵌套

  • 3.条件表达式

    • 4.循环语句

      • 4.1 while 循环

      • 4.2. for循环

      • 4.3. 循环嵌套

    • 5.跳转语句

      • 5.1 break语句

      • 5.2.continue语句

    • 6.pass语句

      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 循环


      while 条件表达式:
      for 迭代变量 in 对象:
      循环体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

      来源:https://www.cnblogs.com/lixin012007/p/13073428.html

      标签:python,流程,控制
      0
      投稿

      猜你喜欢

    • Python实现最大子序和的方法示例

      2023-04-08 03:30:38
    • MySQL系列数据库设计三范式教程示例

      2024-01-25 08:15:07
    • SQL SERVER迁移之更换磁盘文件夹的完整步骤

      2024-01-25 18:37:59
    • Python定义一个函数的方法

      2023-09-18 17:28:09
    • python如何进入交互模式

      2023-08-10 19:57:12
    • python好玩的项目—色情图片识别代码分享

      2022-01-26 03:19:19
    • golang 执行命令行的实现

      2024-04-28 09:14:40
    • Keras保存模型并载入模型继续训练的实现

      2021-08-12 23:23:32
    • Golang实现WebSocket服务的项目实践

      2024-04-28 09:15:51
    • Python Tornado批量上传图片并显示功能

      2023-08-07 22:33:21
    • Python中pygal绘制雷达图代码分享

      2023-09-27 10:03:59
    • 如何使用moment.js获取本周、前n周、后n周开始结束日期及动态计算周数

      2024-05-28 15:40:15
    • python实现微信定时每天和女友发送消息

      2022-08-04 09:43:54
    • 中英文双语导航菜单

      2007-05-11 17:04:00
    • PHP解析xml格式数据工具类示例

      2023-11-19 20:05:53
    • pandas库中 DataFrame的用法小结

      2021-08-11 00:54:01
    • Mysql 错误问题汇总(不断更新中)

      2024-01-18 23:51:22
    • python3 shelve模块的详解

      2022-12-08 19:41:37
    • Django框架实现的普通登录案例【使用POST方法】

      2021-10-12 18:05:10
    • vue.js实现简易折叠面板

      2024-05-08 09:33:47
    • asp之家 网络编程 m.aspxhome.com