【发布时间】:2018-10-14 07:00:59
【问题描述】:
我正在学习方法绑定,并试图了解解释器如何在特定类型的对象与其实例方法之间建立联系。假设我写了以下代码:
class Point:
def __init__(self, x,y):
self._x=x
self._y=y
def draw(self):
print(self._x, self._y)
p1=Point(1,2)
p1.draw()
有人告诉我 draw 是一个实例方法。如果是这样,那么 draw 存储在哪里?我知道属性存储在字典中,其键是属性名称,值是属性的值,但我正在努力在实例方法和对象本身之间建立联系。它们是存储在类存储在内存中的位置,还是与对象(p1)一起存储?如何?
【问题讨论】:
-
如果你想让你的问题得到完整的回答,恐怕你应该阅读源代码并自己找到答案,如果你熟悉C(假设你在说关于 Cpython 实现)。
标签: python python-3.x object methods