实例方法使用

时间:2017-07-28 06:55:42

标签: python-3.x

我定义了一个这样的类:

class foo1():
    def a():
        pass 
    def b():
        pass 
    def c():
        pass

我创建了两个类foo1的实例:

f1 = foo1()
f2 = foo1()

现在尝试打印方法的一些信息:

print("f1.a@" , f1.a)
print("f1.b@" , f1.b)
print("f1.c@" , f1.c)

print('xxxxxxxxxxxxxxxxxxxx')

print("f2.a@" , f2.a)
print("f2.b@" , f2.b)
print("f2.c@" , f2.c)

发生了什么?

f1.a@ <bound method foo1.a of <__main__.foo1 object at 0x10217d128>>
f1.b@ <bound method foo1.b of <__main__.foo1 object at 0x10217d128>>
f1.c@ <bound method foo1.c of <__main__.foo1 object at 0x10217d128>>
xxxxxxxxxxxxxxxxxxxx
f2.a@ <bound method foo1.a of <__main__.foo1 object at 0x10217d160>>
f2.b@ <bound method foo1.b of <__main__.foo1 object at 0x10217d160>>
f2.c@ <bound method foo1.c of <__main__.foo1 object at 0x10217d160>>

那么为什么对于类foo1的实例,它的所有方法都在同一个地址?

0 个答案:

没有答案