Найти - Пользователи
Полная версия: (Self)
Начало » Python для новичков » (Self)
1 2
4kpt_III
Слово self это просто договоренность. В js используется this. Но, чтобы Ваш код потом не забрасывали тапками, желательно использовать слово self.

Под self подразумевается ссылка на один из экземпляров, т.е. на конкретный объект, построенный посредством класса А. В первом случае он ссылается на a_I во втором на a_II. Ну так как Вы в классе пишите универсальный механизм для всех экземпляров (построенных на базе этого класса), то нужно иметь возможность создать условную переменную, которая бы указывала на конкретный будущий экземпляр…
@Aleks@
@Aleks@
условную переменную
Мне почему-то хочется назвать ссылкой
Спасибо
Kon52
“Имя self внутри метода – имя самого первого аргумента, в соответствии с общепринятыми соглашениями, – автоматически ссылается на обрабатываемый экземпляр, поэтому операция присваивания сохраняет
значения в пространстве имен экземпляра, а не класса.”
Цитаты великих людей
TitanFighter
Я тоже долго путался в этом self)

Если простыми словами:
self - это сам объект, с которым производятся операции. Чтото вроде переменной метода, которая привязывается к переменной, создавшей экземпляр класса.

На примере:
class MyClass():
    def method(self):
        # bla bla bla
Когда ты класс присваиваешь какой то переменной, аля
x = MyClass()
self запомнит, что method будет работать с переменной ‘x’, т.е self=x (это грубо говоря).
Сделаешь z = MyClass(), будет новый self, который уже будет = z.
Нужно же как то понимать\запоминать методу, с каким экземпляром (x или z) ему работать, вот и придумали этот self.

Еще раз - объяснение очень упрощенное и на пальцах, а то чувствую, ща полетят в меня ботинки)

У Лутца “Изучаем Питон”, 4е издание, на страницах 772-774 (Методы) понятным языком написано про селф.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB