class Dog:
def __init__(self):
print (self, "在调用构造方法")
# 定义一个jump()方法
def jump(self):
print (self, "正在执行jump方法")
# 定义一个run()方法,run()方法需要借助jump()方法
def run(self):
print (self, "正在执行run方法")
# 使用self参数引用调用run()方法的对象
self.jump ()
dog1 = Dog ()
print('dog1 id %s'%dog1)
dog1.run ()
dog2 = Dog ()
print('dog2 id %s'%dog2)
dog2.run ()
输出结果为:
<__main__.Dog object at 0x000002B7858BE208> 在调用构造方法
dog1 id <__main__.Dog object at 0x000002B7858BE208>
<__main__.Dog object at 0x000002B7858BE208> 正在执行run方法
<__main__.Dog object at 0x000002B7858BE208> 正在执行jump方法
<__main__.Dog object at 0x000002B7858BE1D0> 在调用构造方法
dog2 id <__main__.Dog object at 0x000002B7858BE1D0>
<__main__.Dog object at 0x000002B7858BE1D0> 正在执行run方法
<__main__.Dog object at 0x000002B7858BE1D0> 正在执行jump方法
可以看到self的地址和实例的地址是一样的!
所以self就是实例自己!