假设我有一个像这样的小代码:
#!/usr/bin/env python3
class Dog():
def __init__(self, name, age):
self.name = name
self.age = age
def sit(self):
print(self.name + " is now sitting.")
my_dog = Dog('willie',6)
my_dog.sit()
据我了解,该行my_dog = Dog('willie',6)创建了一个名为my_dog. 它调用__init__函数,在内部将其转换为Dog.__init__(my_dog, willie, 6)并将my_dog.name和my_dog.age变量设置为willie和6? 现在my_dog.sit()执行时,为什么该方法sit()需要aself作为参数?是不是因为如果有同一个类的另一个实例(例如,your_dog),那么它知道使用your_dog.name而不是my_dog.name?
慕斯王
相关分类