Python3.2官方文档翻译--类备注和异常也是类


6.7备注

有时有个像Pasca中“记录”和C中“数据体”的数据类型非常有用。集合一些数据项。一个空类定义可以清楚地显示:

class Employee:

pass

john = Employee() # Create an empty employee record

# Fill the fields of the record

john.name = ’John Doe’

john.dept = ’computer lab’

john.salary = 1000

期望得到一个特殊抽象对局类型的python代码块可以传递给类。这个类可以模仿那种数据类型方法。例如,如果你有个从文件对象格式化数据的函数,你能定义一个包含方法read和readline的方法来获得数据,然后把它作为一个参数传递给他。

实例方法对象也有许多属性:m.__self_是一个包含方法m()的梳理对象,并且m._func_是和该方法对应的函数对象。

6.8 异常也是类

用户定义的异常也可以被类定义。用这种机制可以实现扩展异常的扩展。

这里有两个合法(语法)形式来抛出语句:

raise Class

raise Instance

在第一种形式中,Class必须是type的一个实例或者类继承了它。第一种形式是下面的便捷方式:

raise Class()

在异常中的类和一个异常是可以兼容,这里的异常是指同一个类或者是一个基类(但是不能反过来说-遍历派生类的异常语句不能和基类相兼容)例如,接下来将按照顺序打印BCD

注意如果异常语句进行翻转(except在前),它将会打印出BBB,-最先满足的异常语句就会触发。

当一个没有处理的异常的错误信息打印出来时候,异常类名就打印。接下来是分号和空格,最后是用内置方法转把实例换为字符串


评论关闭