第2章 与Python无缝集成——基本特殊方法
Python中有一些特殊方法,它们允许我们的类和Python更好地集成。在标准库参考(Standard Library Reference)中,它们被称为基本特殊方法,是与Python的其他特性无缝集成的基础。
例如,我们用字符串来表示一个对象的值。Object基类包含了repr()和str()的默认实现,它们提供了一个对象的字符串描述。遗憾的是,这些默认的实现不够详细。我们几乎总会想重写它们中的一个或两个。我们还会介绍format(),它更加复杂一些,但是和上面两个方法的作用相同。
我们还会介绍其他的转换方法,尤其是hash()、bool()和bytes()。这些方法可以把一个对象转换成一个数字、一个布尔值或者一串字节。例如,当我们实现了bool(),我们就可以像下面这样在if语句中使用我们的对象:if someobject:。
接下来,我们会介绍实现了比较运算符的几个特殊方法:lt()、le()、eq()、ne()、gt()和ge()。
当我们定义一个类时,几乎总是需要使用这些基本的特殊方法。
我们会在最后介绍new()和del(),因为它们的使用更加复杂,而且相比于其他的特殊方法,我们并不会经常使用它们。
我们会详细地介绍如何用这些特殊方法来扩展一个简单类。我们需要了解从object继承而来的默认行为,这样,我们才能理解应该在什么时候使用重写,以及如何使用它。
