На этот вопрос уже есть ответ:
Я в значительной степени невежественен жаргона и понятий ООП. Я концептуально знаю, что такое объект, и что у объектов есть методы. Я даже понимаю, что в Python классы - это объекты! Это круто, я просто не знаю, что это значит. Меня это не касается.
В настоящее время я пытаюсь понять несколько подробных ответов, которые, как мне кажется, проливают свет на мое понимание 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
?