Python类方法与魔法方法详解
1. 方法概述
在Python中,当一个函数被分配给一个类时,它就被视为一个方法。虽然方法在本质上仍然像函数一样工作,但由于函数实际上也是描述符,所以方法可以访问类的信息。方法主要分为两种类型:未绑定方法和绑定方法。
2. 未绑定方法
由于描述符可以从类及其实例中访问,所以方法也可以从这两者中访问。当从类中访问一个函数时,它就成为一个未绑定方法。描述符接收类,但方法通常需要实例,因此在没有实例的情况下访问时,它们被称为未绑定方法。
>>> class Example:
... def method(self):
... return 'done!'
...
>>> type(Example.method)
<class 'function'>
>>> Example.method
<function method at 0x...>
# self isn't passed automatically
>>> Example.method()
Traceback (most recent call last):
...
TypeError: method() takes exactly 1 position argument (0 given)
在Python 3.0之前,直接从类中访问函数描述符会返回一个 instancemethod 对象,而在新版本中,它直接返回函数对象
超级会员免费看
订阅专栏 解锁全文
1058

被折叠的 条评论
为什么被折叠?



