程序开发中什么是pass语句,raise语句?

程序开发中什么是pass语句,raise语句?,第1张

pass 是一个空 *** 作 --- 当它被执行时,什么都不发生。 它适合当语法上需要一条语句但并不需要执行任何代码时用来临时占位,

删除是递归定义的,与赋值的定义方式非常类似。 此处不再详细说明,只给出一些提示。

目标列表的删除将从左至右递归地删除每一个目标。

名称的删除将从局部或全局命名空间中移除该名称的绑定,具体作用域的确定是看该名称是否有在同一代码块的 global 语句中出现。 如果该名称未被绑定,将会引发 NameError。

属性引用、抽取和切片的删除会被传递给相应的原型对象;删除一个切片基本等价于赋值为一个右侧类型的空切片(但即便这一点也是由切片对象决定的)。

在 3.2 版更改: 在之前版本中,如果一个名称作为被嵌套代码块中的自由变量出现,则将其从局部命名空间中删除是非法的。

如果不带表达式,raise 会重新引发当前作用域内最后一个激活的异常。 如果当前作用域内没有激活的异常,将会引发 RuntimeError 来提示错误。

否则的话,raise 会将第一个表达式求值为异常对象。 它必须为 BaseException 的子类或实例。 如果它是一个类,当需要时会通过不带参数地实例化该类来获得异常的实例。

异常的 类型 为异常实例的类,值 为实例本身。

当异常被引发时通常会自动创建一个回溯对象并将其关联到可写的 __traceback__ 属性。 你可以创建一个异常并同时使用 with_traceback() 异常方法(该方法将返回同一异常实例,并将回溯对象设为其参数)设置自己的回溯,

如果有该子句,则第二个 表达式 必须为另一个异常类或实例。 如果第二个表达式是一个异常实例,它将作为可写的 __cause__ 属性被关联到所引发的异常。 如果该表达式是一个异常类,这个类将被实例化且所生成的异常实例将作为 __cause__ 属性被关联到所引发的异常。

pass语句的出现是为了保持程序结构的完整性:正确的。

它的作用如下:

1、空语句 do nothing。

2、保证格式完整。

3、保证语义完整。

pass语法格式:pass。

如果写了一个循环或者函数,尚未实现(暂未想好如何实现或者交付给其他人),但是会在将来的某个时候实现。这时,如果循环体或者函数体为空,解释器就会报错。此时,可以使用 pass 语句构造一个不做任何事情的主体。

pass 和注释之间的区别在于:解释器会完全忽略注释,但不会忽略 pass。然而,执行 pass 时什么都不会发生,导致无 *** 作(NOP)。

例1,pass语句在 if 语句中的使用:

例2,pass语句在函数中的使用:

当在编写一个函数时,执行语句部分思路还没有完成,但又不能空着不写内容,这时可以用pass语句来占位,也可以当做是一个标记,然后将来再实现代码。比如下面这样:

例3,pass语句在循环中的使用:

pass也常用于为循环语句编写一个空的主体,比如说你想一个while语句的无限循环,每次迭代时不需要任何 *** 作,你可以这样写:

我们同样可以在使用for循环语句,定义类时使用pass语句。总之,pass 什么也不做,就是为了占位,防止语法错误。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11476627.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存