为什么 self 是方法的必需参数?

假设我有一个像这样的小代码:


#!/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?


catspeake
浏览 257回答 3
3回答

慕斯王

Self 指的是调用该方法的实例。如果函数不需要 self,则意味着该函数不需要该特定类的实例来调用该方法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go