__xxx__

__xxx__ 这种其实就是一个特殊属性,想在类中添加的话,需要用 def __xxx__() 来实现。

类似__xxx__的属性和方法在Python中都是有特殊用途的,比如__len__方法返回长度。在Python中,如果你调用len()函数试图获取一个对象的长度,实际上,在len()函数内部,它自动去调用该对象的__len__()方法,所以,下面的代码是等价的:

>>> len('ABC')
3
>>> 'ABC'.__len__()
3

我们自己写的类,如果也想用len(myObj)的话,就自己写一个__len__()方法:

>>> class MyDog(object):
...     def __len__(self):
...         return 100
...
>>> dog = MyDog()>>> len(dog)
100
发布了35 篇原创文章 · 获赞 5 · 访问量 2442

猜你喜欢

转载自blog.csdn.net/qq_24884193/article/details/79999414
xxx