我理解,当 init 方法在对象中执行时, self 参数使该方法知道它应该操作哪个对象的数据属性。通过使用“self”,它将操作该方法所在对象的数据。我可以将“self”替换为其他参数,以便该方法操作另一个对象的数据属性吗? (不是方法所在的对象)...如果不是为什么不呢?
是的 – 您可以通过类调用实例方法,然后显式传入
self
。
class SomeClass:
def __init__(self, name):
self.name = name
def greet(self):
return f"Hello, {self.name}!"
a = SomeClass("Guido")
b = SomeClass("Raymond")
print(a.__class__.greet(b))
print(SomeClass.greet(a))