Объяснение переменной python 'self' новичку [дубликат]

На этот вопрос уже есть ответ:

Я в значительной степени невежественен жаргона и понятий ООП. Я концептуально знаю, что такое объект, и что у объектов есть методы. Я даже понимаю, что в Python классы - это объекты! Это круто, я просто не знаю, что это значит. Меня это не касается.

В настоящее время я пытаюсь понять несколько подробных ответов, которые, как мне кажется, проливают свет на мое понимание Python:

  1. Что ключевое слово yield делает в Python?
  2. Что является ли метакласс в Python?

В первом ответе автор использует следующий код в качестве примера:

>>> class Bank(): # let's create a bank, building ATMs
...    crisis = False
...    def create_atm(self) :
...        while not self.crisis :
...            yield "$100"

Я не сразу понимаю, на что указывает self . Это определенно симптом непонимания классов, над которым я когда-нибудь поработаю. Чтобы уточнить, в

>>> def func():
...   for i in range(3):
...     print i

я понимаю, что i указывает на элемент в списке range (3) , который, поскольку он находится в функции, не является глобальным. Но на что «указывает» self ?

33
задан Community 23 May 2017 в 11:47
поделиться