Python类里很多__xxx__这样的函数有什么特殊意义吗?

看一些源代码,很多类里有这种方式命名的函数,比如

class Sample(object):
    def __str__(object):
        pass
        
    def __repr__(object):
        pass
    
    def __new__(object):
        pass
        
    def __init__(object):
        pass

不知道为什么要这么写呢,__xxx__都是自定义的么?

阅读 5.6k
2 个回答

这些是 Python 数据模型中的特殊方法名,在下面页面有详细的说明:

Special method names

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题