有没有办法将像__len__或__eq__这样的方法实现为类方法?

16 浏览
0 Comments

有没有办法将像__len__或__eq__这样的方法实现为类方法?

在Python中,很容易实现__len__(self)方法,以便处理类似len(inst)的调用,如下所示:

class A(object):
  def __len__(self):
    return 7
a = A()
len(a) # 得到7

你还可以定义许多类似的方法(__eq____str____repr__等)。

我知道Python类也是对象。

我的问题是:我是否可以以某种方式定义__len__,使得以下代码可以运行:

len(A) # 有意义并给出一些可预测的结果

0