Какова цель слова «я» в Python?

Какова цель слова self в Python? Я понимаю, что это относится к конкретному объекту, созданному из этого класса, но я не понимаю, почему его нужно явно добавлять в каждую функцию в качестве параметра. Чтобы проиллюстрировать это, в Ruby я могу сделать это:

class myClass
    def myFunc(name)
        @name = name
    end
end

Что я понимаю, довольно легко. Однако в Python мне нужно включить self:

class myClass:
    def myFunc(self, name):
        self.name = name

Кто-нибудь может рассказать мне об этом? Я не сталкивался с этим (по общему признанию, ограниченным) опытом.

1016
задан smci 29 June 2019 в 23:25
поделиться

1 ответ

сам действует так же как текущее имя объекта или экземпляр класса.

# Self explanation.


 class classname(object):

    def __init__(self,name):

        self.name=name
        # Self is acting as a replacement of object name.
        #self.name=object1.name

   def display(self):
      print("Name of the person is :",self.name)
      print("object name:",object1.name)


 object1=classname("Bucky")
 object2=classname("ford")

 object1.display()
 object2.display()

###### Output 
Name of the person is : Bucky
object name: Bucky
Name of the person is : ford
object name: Bucky
3
ответ дан 19 December 2019 в 20:19
поделиться