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,-第一次见面会引发异常声明。
打印出的信息未经处理的时候,异常错误,异常类的名字打印。
随之而来的是分号和空间格,最后一种方法是使用内置反过来 - 对于串的实例