本站资源收集于互联网,不提供软件存储服务,每天免费更新优质的软件以及学习资源!

Python类方法中

网络教程 app 1℃

Python类方法中

python类方法相关疑难解答

您希望通过调用getattribute来查找str的方法,但它却直接调用了str的方法。如何解决这个问题呢?

为了解决这一问题,需要在类中定义一个__str__方法。默认情况下,print会调用type(object).__str__(object)来将对象转换为字符串,而不会调用自定义的__getattribute__方法。

因此,如下所示在pointer类中定义一个__str__方法:

class pointer: # … 原有代码 … def __str__(self): return str(self.__value)

这样,当调用print(s)时,将调用自定义的__str__方法,从而使用pointer类的__getattribute__方法。

最终,输出如下:

ab<method-wrapper ‘__str__’ of str object at 0x0000019167F2AEF0>ba1

以上就是Python类方法中__getattribute__与__str__方法的冲突:如何调用自定义的__str__方法?的详细内容,更多请关注范的资源库其它相关文章!

转载请注明:范的资源库 » Python类方法中

喜欢 (0)