第六章python包和异常详解

一、异常

  • 了解异常
  • 捕获异常
  • 异常的else
  • 异常的finally
  • 异常的传递
  • 自定义异常
  1. 了解异常
    1.1 检测到错误,解释器无法继续执行,出现一些错误提示就是异常
    1.2 异常语句尝试执行可能发生错误的语句
    1.3 语法:
    try:
     可能发生错误的代码
    except:
     如果出现异常执行的代码

  2. 捕获异常
    2.1 语法:
    try:
     可能发生错误的代码
    except 异常类型:
     如果捕获到该异常类型执行的代码
    2.2 如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常
    2.3一般try下方只放一行尝试执行的代码
    2.4 捕获多个指定异常
    try:
     可能发生错误的代码
    except (异常类型1,异常类型2…):
     如果捕获到该异常类型执行的代码
    2.5 捕获异常描述类型
    try:
     可能发生错误的代码
    except (异常类型1,异常类型2…) as result:
     print(result)
    2.6 捕获所有异常
    try:
     可能发生错误的代码
    except Exception as result:
     print(result)
    //Exception是所有程序异常类的父类

  3. 异常的else
    try:
     可能发生错误的代码
    except Exception as result:
     print(result)
    else:
     没有异常执行的代码

  4. 异常的finally
    无论是否异常都要执行的代码//如关闭文件释放内存
    try:
     可能发生错误的代码
    except Exception as result:
     print(result)
    else:
     没有异常执行的代码
    finally:
     无论是否异常都要执行的代码

  5. 异常的传递
    5.1 命令提示符执行py文件
    5.2 体验传递
    需求:
    尝试打开test.txt文件存在读取内容,不存在提示用户
    读取内容:循环读取,当无内容的时候退出循环,如果用户意外终止,提示用户已经被意外终止
    5.3 读取数据时没有数据相当于0
    5.4 在命令提示符中ctrl+c是结束终止的键

  6. 自定义异常
    6.1 在Python中,抛出自定义异常的语法为raise异常类对象
    6.2将不满足程序逻辑要求的返回给用户
    1.自定义异常类//继承Exception
    class 异常类类名(Exception)
     代码
     设置抛出异常的描述信息
     def str(self):
      return …
    2.抛出异常类创建对象 raise 类名(pramam1,pramam,…)
    3.捕获异常
    except Exception…

二、模块

  • 了解模块
  • 导入模块
  • 制作模块
  • __all__
  • 包的使用方法
  1. 了解模块
    模块就是一个py文件可以包含Python对象定义和Python语句
  2. 导入模块
    2.1 导入模块的方式
    2.1.1 import 模块名
    模块名.功能名()//调用功能
    2.1.2 from 模块名 import *
    功能名()//调用功能
    2.1.3 from 模块名 import 功能1,功能2…
    功能名()//调用功能
    2.1.4 import 模块名 as 别名//如果定义了别名就不能使用原名
    别名.功能名()
    2.1.5 from 模块名 import 功能名 as 别名
    别名()
  3. 制作模块
    每个Python文件都可以作为一个模块,模块的名字就是文件的名字。名字必须满足标识符命名规则
    定义模块
    测试模块(需要使用当前文件限制调用条件)
    if name == ‘main’:
     测试代码
    //__name__系统变量如果是自身模块值是__main__否则是当前模块名
    导入模块
    调用功能
  4. 模块的定位顺序
    当导入一个模块,Python解释器对模块位置的搜索顺序是:
    1.当前目录
    2.shell变量PYTHONPATH下的每个目录
    3.默认路径/user/local/lib/python
    自己的文件名不要和已有的模块名重复
    使用from 模块名 import 功能 的时候,如果功能名字重复,调用到的是最后定义或导入的功能
    5.模块名和变量名重复,变量会覆盖模块名//数据是通过引用传递的
    6.__all__
    __all__写在模块里面的变量,当使用from xxx import *导入时,只能导入这个列表中的元素

三、包

  1. 将有联系的模块组织在一起,即放在同一个文件夹下,并且在这个文件夹创建一个名字为__init__.py文件,那么这个文件夹就称之为包。
  2. 制作包
    [NEW]-[PythonPackage]-输入包名-[Ok]
  3. 导入包
    方法一:1.import 包名.模块名//导入
    2.包名.模块名.功能()//调用
    方法二:from 包名 import *
    模块名.功能()
    必须在__init__.py文件中添加__all__ = [],控制允许导入的模块列表,否则不能导入

四、面向对象版学员管理系统

了解面向对象开发过程中类内部功能的分析方法
常用系统功能
增删改查
需求:
1.系统要求:学员数据存储在文件中
2.系统功能:添加,删除,修改,查询显示,保存学员信息,及退出系统

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值