我们先来看看这个案子:class Test:
def a(self):
var1 = 1
return var1
def b(self):
var2 = 2
return var2
实例化类时:
^{pr2}$
然后试着看看a或{}是什么:print test_obj.a
>>> >
print test_obj.b
>>> >
注意-它表示Test实例的绑定方法。这些方法绑定到一个实例-您只能在该实例中使用它们。顺便说一句,你有没有想过self是什么,为什么总是要把它传递给类的实例方法?你知道你可以像这样重写你的类吗(不推荐,总是用self>self>eem>来说明这一点)。在class Test:
def a(instance): #a belongs to that instance
var1 = 1
return var1
def b(instance):
var2 = 2
return var2
它的工作原理是一样的?如果您还将print instance添加到a,如下所示:def a(instance):
print instance
var1 = 1
return var1
并尝试打印出方法a并调用方法:print test_obj.a
>>> > # Notice memory address
test_obj.a() # Remember we added print instance here