第五章 程序控制结构

本文详细介绍了Python编程中的三种基本程序结构:顺序、分支和循环。顺序结构按照语句顺序执行,分支结构包括单分支、双分支和多分支,用于根据条件执行不同代码。循环结构则涉及for和while循环,包括遍历循环和无限循环,并讲解了循环控制如break和continue的使用。此外,还介绍了异常处理的概念,包括如何捕获和处理异常,以及异常传递的原理。
摘要由CSDN通过智能技术生成

5.1 程序的基本结构

程序的3种基本结构为:顺序结构,分支结构和循环结构。

  • 顺序结构的程序按语句的先后顺序依次执行各条语句,通常程序默认为顺序结构
  • 分支结构指程序根据条件执行不同的代码块。分支结构又可分为单分支结构,双分支结构和多分支结构
  • 循环结构指程序根据条件重复执行同一个代码块

5.2 分支结构

5.2.1 单分支结构
  • 单分支if语句的基本结构

    if 条件表达式:
       判断条件为 True,会执行的代码
       判断条件为 True,会执行的代码
       ...
    
    顶格书写的代码,代表和 if 判断没有关系
    在 python 中使用缩进,代替代码的层级关系,if 语句的缩进内,属于 if 语句的代码块(多行代码的意思)
    
5.2.2 双分支结构
  • 双分支if语句的基本结构

    if 判断条件:
        判断条件为 True,会执行的代码
        判断条件为 True,会执行的代码
        ...
    else:
        判断条件为 False, 会执行的代码
        判断条件为 False, 会执行的代码
        .....
        
        
    ifelse 只会执行其中的一个,    
    
5.2.3 多分支结构
  • 多分支if语句的基本结构

    if 	判断条件1:
        判断条件1成立,执行的代码
    elif 判断条件2:
        判断条件1不成立,判断条件2 成立,会执行的代码
    else:
        判断条件1和判断条件2都不成立,执行的代码
        
    --------
    if 判断条件1:
        判断条件1成立执行的代码
        
    if 判断条件2:
        判断条件2 成立执行的代码
    
5.2.4 if…else 三元表达式
  • if…else 三元表达式的基本结构

    if 判断条件1:
        表达式1
    else:
        表达式2
        
    判断条件成立,执行表达式 1, 条件不成立,执行表达式 2
    
    变量 = 表达式1 if 判断条件 else 表达式2  # 推荐使用扁平化代码
    
    变量最终存储的结构是: 
        判断条件成立,表达式1的值, 
        条件不成立,表达式2的值
    

5.3 循环结构

Python 使用for语句和while语句实现循环结构

5.3.1 遍历循环
  • for循环基本语法

    for 变量 in 字符串:
        代码
    for 循环也称为 for 遍历,会将字符串中的字符全部取到   
    
  • 使用range()函数

    可以使用range()函数来生成多个整数的range对象,基本格式如下
    
    range(end)
    range(start,end[,step])
    
    只指定一个参数end时,生成的整数范围为:0~end-1。指定两个参数(start和end)时,生成的整数范围为:start~end-1。整数之间的差值为step,step默认为1。
    

    在这里插入图片描述

  • 循环打印直角三角形

    在这里插入图片描述

5.3.2 无限循环
  • while语句循环的基本结构

    while 判断条件:
        判断条件成立,执行的代码
        判断条件成立,执行的代码
        
    不在 while 的缩进内,代表和循环没有关系    
    
    whileif 的区别:
        if 的代码块,条件成立,只会执行一次
        while 的代码块,只要条件成立,就会一直执行
    
  • 无限循环

    while True:  # 无限循环
        代码
        
        
    死循环: 相当于是代码的 bug,错误
    无限循环: 人为书写的,故意这样写的
    
5.3.3 循环控制
  • break

    break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行

  • continue

    continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环

在这里插入图片描述

在这里插入图片描述

5.4 异常处理

异常指程序在运行过程中发生的错误,异常会导致程序意外终止。异常处理可捕捉程序中发生的异常,执行相应的处理代码,避免程序意外终止。程序中的语法错误不属于异常。

  • 捕获单个异常

    在这里插入图片描述

  • 捕获多个异常

    在这里插入图片描述

    在这里插入图片描述

  • 打印异常信息

    在这里插入图片描述

  • 捕获所有异常

    try:
        可能发生异常的代码
    except:   # 缺点, 不能获取异常的描述信息
        发生异常执行的代码
        
        
    ==============
    try:
        可能发生异常的代码
    except Exception as e:
        发生异常执行的代码
        print(e)
        pass
    
    # Exception 是常见异常类的父类,
    ZeroDivisionError --> ArithmeticError --> Exception --> BaseException  ---> object
    ValueError --> Exception --> BaseException  ---> object
    

    在这里插入图片描述

  • 异常的完整结构

    try:
        可能发生异常的代码
    except Exception as e:
        发生异常执行的代码
        print(e)
    else:
        代码没有发生异常,会执行
    finally:
        不管有没有发生异常,都会执行
    

    在这里插入图片描述

  • 异常的传递

    是 python 异常处理的底层机制,是原理层面上的,不需要我们自己写代码实现,是 python 已经实现好的.
    
    异常传递: 当一行代码发生异常之后,会向外层将这个异常进行传递,指导被捕获或者程序报错为止.
    1. try 嵌套
    2. 函数嵌套
    

    在这里插入图片描述

    在这里插入图片描述

  • 抛出自定义异常

    程序代码为什么会报错?
    因为不符合语法, 因为 python 的作者在代码中使用了 if 判断,如果除数为 0 ,就会在代码中抛出异常错误,
    抛出异常:
        raise 异常对象  # 当程序代码遇到 raise 的时候,程序就报错了
        
    异常对象 = 异常类(参数)  
    
    抛出自定义异常:
        1. 自定义异常类,继承 Exception 或者 BaseException 
        2. 选择书写,定义 __init__方法,定义__str__ 方法
        3. 在合适的时机抛出异常对象即可
    

    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值