首页 > 编程语言 >编程路-基础提升-第八周-02

编程路-基础提升-第八周-02

时间:2022-12-28 23:57:34浏览次数:36  
标签:02 变量 错误 编程 第八 复制 报错 类型 异常

异常处理与模块

  • 了解异常
  1. 模型
    1. try:
      可能发⽣错误的代码
      except:
      如果出现异常执⾏的代码
  2. 常规异常
    1. 可以公式来判断异常  判断结束后,后面的代码也可以运行

    2. 为了保证程序的流畅性,可以在异常执行下,加入可能正确的补救操作
  • 捕获异常
  1. 模型
    1. try:
      可能发⽣错误的代码
      except 异常类型:
      如果捕获到该异常类型执⾏的代码

  2. 打印报错,可以看到报错的类型,在异常类型中添加后
    1. 如果错误类型正确就输出错误类型判断的指令
    2. 如果异常类型,还是会报错
  3. 如果多个错误,程序从上到下读取,如果先判断的错误类型,有正确类型不会报错    如果先判断的错误类型,没有对应类型,就会直接报错,不会继续判断剩余的类型是否有对应的错误类型。 
  4. 错误类型可以增加
  5. 可能有些错误不太清楚类型,但也不想程序报错,可以用Exception类型,大部分错误类型都属于Exception
    1. 但是会提示应用范围过宽
    2. BaseException和Exception一样,用在异常类型时,会显示应用范围广
  6. 为了获取异常信息,可以用判断异常类型 
  7. (as 是重命名 )用as把异常类型重命名为一个变量,最后会显示   通常可以用Exception 常规错误的基类加变量的方式,并输出变量来获取错误类型
  8. 可以充当if对错误判断语句,进行编程
  • else异常

代码当没有发生异常,就执行里面的代码

  • finally异常
  1. 不管报没报错,都会执行
  2. 就算不写finally:直接写内容也会执行
  • 自定义异常
  1. raise Exception(' ') 抛出异常  运行后输出异常是括号内的内容
  2. Exception 常规错误的基类
  3. 例子:密码长度
    1. 首先,建立一个长度不符合的类,让其属于 常规错误Exception的子类
    2. 其次,用一个变量接收输入的数据
    3. 第三,初始化定义
    4. 第四,输出对象内容
    5. 第五,对长度进行判断,如果不符合要求就抛出自定义异常,且自定义异常类要带有变量
    6. whiled的判断能让循环一直进行直到输出对的内容
  4. 断言 assert
    1. 对的就不报错
    2. 错的就报错,输出内容是逗号后面的内容
  5. debug 调试
    1. 可以一步一步执行发现程序的运行过程
    2. 右键就可以进入调试模式
    3. 点击行列,出现小红点,为选定调试的内容,进入调试后,会运行到最终要调试的行
    4. 对变量可以监视、调整、控制
    5. 对每一步的运行,也可以进入进入函数或者循环
    6. 如果中间涉及其他变量,也会随着每一步的变化显示不同内容,步过或者步入运行
    7. 还可以单步执行代码
    8. 跳出循环
  6. copy 复制
    1. 基本  简单变量用=,实际就是一个赋值的过程,不算复制 例如: a=1,b=a
    2. 浅复制  变量.copy ()
      1. 对复制内容操作时,不影响原数值内容
      2. 其实浅复制就是把原内容复制到新的内存地址中,操作时不会对原内容有影响
      3. copy浅复制 只能复制表层的数据
        在字典的嵌套中,就能发现浅复制的特点
        对于字典的复制是第一层,对于第二层的字典内容,数据还是指向同一个内存地址

        1. 在字典的嵌套中,就能发现浅复制的特点
        2. 对于字典的复制是第一层,对于第二层的字典内容,数据还是指向同一个内存地址
    3. 深复制 from copy import deepcopy   deepcopy (变量)
      1. 深复制可以把变量内部所有数据都另存到其他内存地址
      2. from copy import deepcopy as abc 别名   在函数中可以用别名替代函数的使用

  7. 迭代器
    1. 选一个列表,魔法方法__dir查找可以使用的类型
    2. 发现有__iter,表明变量是可以迭代的
    3. 如果想看__iter下的可使用类型,一般有\__next的功能
      1. 可以打印下一个
      2. 连着打印,连着输出
        1. 如果多打印就报错了
        2. 报错StopIteration,会停止迭代
        3. 能直接调用next是迭代器,不能直接调用的就是序列,序列

 

标签:02,变量,错误,编程,第八,复制,报错,类型,异常
From: https://www.cnblogs.com/qipaxiaopao/p/17011526.html

相关文章

  • 编程路-基础提升-第八周-01
    面向对象特性对象特性,更过是对继承属性的理解,理解到位了,在使用特性时,才能又方便又快捷。继承的概念封装,继承,多态   富二代继承财产类的继承 封装提高代码......
  • 编程路-基础提升-第七周-04
    面向对象面对对象,实际上是继承某一类相同特征的事物,概念比较抽象,需要认真研究。理解面向对象面向对象是一致编程的思维模式特征是属性,编程中相当于变量  age=20......
  • the seventh——2022.12.28
    %a.bf的含义%f是输出float(单精度浮点型)型变量,%m.nf中m代表输出数长,n代表小数点后的数长,即保留n位小数。如果小数点后的数大于n,例如12.4567按照%5.2f输出得12.46(四舍五入......
  • react 脚手架搭建项目 报错C:\Program Files\nodejs\node_cache\_logs\2022-12-2
    报错内容: 解决方法:第一步:删除C:\ProgramFiles\nodejs\node_cache\_logs目录下所有文件  第二步:切换镜像 npmconfigsetregistryhttps://registry.npm.tao......
  • 2022暑假刷题
    1038-长方体_牛客竞赛语法入门班顺序结构习题(nowcoder.com)本题需将长方体面积转化为边长。设长方体三边为x,y,z,边长和=4*(x+y+z),即求(x+y+z),而a=xy,b=yz,c=zx。由三......
  • 编程路-基础提升-第七周-03
    文件操作文件操作是使用Python中,跟现实连接的第一步,也是基础所在,要学会应用,才能慢慢有眼见为实的感觉。文件的操作作用文件读写文件名称文件的路径文本文件(data.t......
  • 编程路-基础提升-第七周-02
    高阶函数应用高级函数是对于函数应用更为简洁,更为高效的方法。递归的了解与应用特点函数内部自己调用自己必须要有出口递归可以用于多种情况下,一般需要和if判断......
  • luogu P4002 [清华集训2017]生成树计数
    题面传送门容易想到放到prufer序列上,变成下面的形式。\(\sum\limits_{\sumc_i=n-2}{\frac{(n-2)!}{\prod\limits_{i=1}^{n}{c_i!}}\prod\limits_{i=1}^{n}{a_i^{c_i+1}(......
  • 2022年总结-五年的时间才明白业务的重要性
    2022年总结-五年的时间才明白业务的重要性 一:因起​从事软件开发工作了几年了,总感觉缺少一些"灵魂"的东西,为此很纠结,困惑,一直彷徨不定,很苦恼,以前认为技术很重要,学......
  • Codeforces Round #841 (Div. 2) and Divide by Zero 2022
    Preface这场Div2怎么感觉难度和Div3一样,ABCD都是SB题一眼秒,可惜D下标\(n,m\)弄混挂了一发E本来也是秒出的正解,但是实现的时候一个细节挂了(自作聪明,后来结束前5min改出来......