看到类似__slots__
这种形如__xxx__
的变量或者函数名就要注意,这些在Python中是有特殊用途的。
__slots__
我们已经知道怎么用了,__len__()
方法我们也知道是为了能让class作用于len()
函数。
除此之外,Python的class中还有许多这样有特殊用途的函数,可以帮助我们定制类。
__str__
__iter__
__getitem__
__getattr__
__call__
Python的class允许定义许多定制方法,可以让我们非常方便地生成特定的类。
以上是最常用的几个定制方法,还有很多可定制的方法,请参考Python的官方文档。