
python类方法相关疑难解答
您希望通过调用getattribute来查找str的方法,但它却直接调用了str的方法。如何解决这个问题呢?
为了解决这一问题,需要在类中定义一个__str__方法。默认情况下,print会调用type(object).__str__(object)来将对象转换为字符串,而不会调用自定义的__getattribute__方法。
因此,如下所示在pointer类中定义一个__str__方法:
立即学习“Python免费学习笔记(深入)”;
class pointer:
# ... 原有代码 ...
def __str__(self):
return str(self.__value)这样,当调用print(s)时,将调用自定义的__str__方法,从而使用pointer类的__getattribute__方法。
最终,输出如下:
a b <method-wrapper '__str__' of str object at 0x0000019167F2AEF0> b a1
以上就是Python类方法中__getattribute__与__str__方法的冲突:如何调用自定义的__str__方法?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号