首页
学习
活动
专区
圈层
工具
发布

以写代学:python 错误、异常、断言

1.错误 (1)语法错误      语法错误指示软件的结构上有错误,导致不能被解释器解释或编译器无法编译。这些错误必须在程序执行前纠正。...还可能是逻辑无法生成,计算,或是输出结果需要的过程无法执行 2.异常 (1)当python检测到一个错误时,解释器就会指出当前流已经无法继续执行下去,这时候就出现了异常 (2)异常是因为程序出现了错误而在正常控制流以外采取的行为...,没有异常就使用else语句执行,最后的finally语句,不管异常不异常都会执行,可以用在文件打开后发生异常导致文件没有关闭,可能会发生数据损坏,使用finally可以保证文件总是能正常的关闭。... last):   File "raise1.py", line 5, in      raise ValueError, "diaosi" ValueError: diaosi 5.断言...(1)断言是一句必须等价于布尔值为真的判定 (2)此外,发生异常也意味着表达式为假 >>> assert 7 > 3, "wrong"              //为真,则没有输出 >>> assert

1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用as断言可能会掩盖类型错误,更安全的方式是:

    使用as断言确实像"强行给变量贴标签",容易藏坑。...更稳妥的办法其实是"先验证,再使用",就像收到快递先检查是不是自己买的东西再拆:用类型守卫当"安检员"undefined写个专门的函数检查数据格式对不对,比如判断一个对象是不是用户信息:function...typeof data.age === 'number';}// 用的时候先安检if (isUserInfo(未知数据)) { // 这里TypeScript会乖乖承认这是UserInfo类型} else...;}先转换再使用,别直接断言undefined如果后端返回的年龄是字符串(比如"25"),别直接as number,先转成数字:// 不好的方式:强行断言const age = 后端数据.age as...Number(rawData.age) : 0 };}// 处理后的数据类型就稳了const user = formatUser(后端数据);说白了,就是别偷懒直接"断言",而是主动检查、转换数据,让类型真正匹配

    12810

    使用as断言可能会掩盖类型错误,更安全的方式是:

    使用as断言确实像"强行给变量贴标签",容易藏坑。...更稳妥的办法其实是"先验证,再使用",就像收到快递先检查是不是自己买的东西再拆: 用类型守卫当"安检员" 写个专门的函数检查数据格式对不对,比如判断一个对象是不是用户信息: function isUserInfo...typeof data.age === 'number'; } // 用的时候先安检 if (isUserInfo(未知数据)) { // 这里TypeScript会乖乖承认这是UserInfo类型 } else...; } 先转换再使用,别直接断言 如果后端返回的年龄是字符串(比如"25"),别直接as number,先转成数字: // 不好的方式:强行断言 const age = 后端数据.age as number...Number(rawData.age) : 0 }; } // 处理后的数据类型就稳了 const user = formatUser(后端数据); 说白了,就是别偷懒直接"断言",而是主动检查、

    10110

    Python中循环的else、break、continue使用方法详解(python工程狮)

    python中else, break, continue一般搭配使用 我们常用的循环包括:for循环以及while循环,他们结合else, break, continue使用的方法和结果都是一样的...我们通过下面的几个案例来交接一下详细的用法: for循环语句是python中的循环控制语句。...在需要时终止for循环 continue 跳过位于其后的语句,开始下一轮循环 当for/while循环正常执行之后,程序会继续执行else语句中内容 以下示例,将结合range()函数讲解,python...跳出而中断时,不会再执行else中的内容!...:2 ,这是第3次print 这里执行else下面的print #从上面的输出结果,我们可以看到,加了continue以后与没加效果一样,for循环体会继续执行else语句

    3.6K20

    Python 异常处理:try、except、else 和 finally 的使用指南

    异常处理 当发生错误(或我们称之为异常)时,Python 通常会停止执行并生成错误消息。 try 块用于测试一段代码是否存在错误。 except 块用于处理错误。...else 块用于在没有错误时执行代码。 finally 块用于无论 try 和 except 块的结果如何都要执行的代码。...可以使用 try 语句来处理这些异常: try: print(x) except: print("发生了一个异常") 由于 try 块引发了一个错误,因此将执行 except 块。...: print("变量 x 未定义") except: print("其他错误") else 您可以使用 else 关键字来定义一段代码,该代码块将在没有错误引发时执行: try: print...引发异常 作为 Python 开发人员,您可以选择在发生条件时引发异常。 要引发(或触发)异常,请使用 raise 关键字。

    1.5K30

    【十五】python之异常处理

    python提供了两个功能来处理程序在运行中出现的异常和错误,可以使用该功能来调试python程序。...格式如下: assert expression [, arguments] 何时使用断言 Python的assert是用来检查一个条件,如果它为真,就不做任何事。...没有特定的规则,断言应该用于: 防御型的编程 运行时检查程序逻辑 检查约定 程序常量 检查文档 (在测试代码的时候使用断言也是可接受的,是一种很方便的单元测试方法...在这个情况下,额外的运行时检查能帮你确保任何错误都会尽早地被捕捉到。 另一个好的使用断言的方式是检查程序的不变量。一个不变量是一些你需要依赖它为真的情况,除非一个bug导致它为假。...建议不要用断言的场景: 不要用它测试用户提供的数据 不要用断言来检查你觉得在你的程序的常规使用时会出错的地方。断言是用来检查非常罕见的问题。

    1.6K20

    使用Python的错误计算器

    Python 中的错误计算器是某些计算给出错误结果的计算器。在 Python 中,我们可以创建自己的计算器并使用它来进行数学计算。...如果我们想创建一个有缺陷的计算器,我们需要在执行计算的函数中创建或引入错误。在本文中,我们将使用 Python 创建一个有缺陷的计算器。...创建有故障的计算器 创建一个错误的计算器很容易,因为我们只需要在代码中的普通计算器中引入一些不正确的计算,以给出不正确的结果,将其转换为错误的计算器。...Correct function - division def divide(x, y):    if y == 0:       return "Cannot divide by zero"    else...我们创建了一个基本的计算器,它给出了平方根函数的错误结果。我们可以在 norma 计算器的任何函数中引入错误,使其成为有故障的计算器。

    54320
    领券