看一些源代码,很多类里有这种方式命名的函数,比如
class Sample(object): def __str__(object): pass def __repr__(object): pass def __new__(object): pass def __init__(object): pass
不知道为什么要这么写呢,__xxx__
都是自定义的么?
看一些源代码,很多类里有这种方式命名的函数,比如
class Sample(object): def __str__(object): pass def __repr__(object): pass def __new__(object): pass def __init__(object): pass
不知道为什么要这么写呢,__xxx__
都是自定义的么?
这些方法通常称之为“魔术方法”,下面两个链接是对它们的分类和介绍
A Guide to Python's Magic Methods
http://www.rafekettler.com/magicmetho...
Python 魔术方法指南
http://pycoders-weekly-chinese.readth...
2 回答4.3k 阅读✓ 已解决
2 回答867 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答868 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
4 回答2.6k 阅读
3 回答912 阅读✓ 已解决
这些是 Python 数据模型中的特殊方法名,在下面页面有详细的说明:
Special method names