1. 文章
  2. 文章详情

Python 的魔术方法(特殊方法)

Python 的魔术方法(特殊方法),它们以双下划线开头和结束,能让我们自己写的类拥有类似 Python 内置对象那样的属性和方法。

先是__getitem____len__

__getitem__方法,我们写的类就能实现类似列表那样的索引形式,如obj[0],同时还能进行迭代和切片。

而实现了__len__之后,就可以使用 Python 内置的函数len()来获取对象的长度,len()调用的就是__len__方法。

特殊方法是由 Python 解释器去调用的,我们只需使用 Python 内置的方法就好。__init__除外,我们会使用的多。

想要将一些 Python 内置的函数用到我们写的类中,只需实现对应的特殊方法就行。

然后是__repr__,把对象用字符串的形式表示出来。当没有实现__str__时,调用str()函数会回退到调用__repr__

再是__and____mul__,分别对应 Python 的+*操作符。

最后是__bool__,用于实现自己定义的布尔值。

发表评论

登录后才能评论

评论列表(0条)