Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 23, 2015 17:17:03

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

(Self)

Слово self это просто договоренность. В js используется this. Но, чтобы Ваш код потом не забрасывали тапками, желательно использовать слово self.

Под self подразумевается ссылка на один из экземпляров, т.е. на конкретный объект, построенный посредством класса А. В первом случае он ссылается на a_I во втором на a_II. Ну так как Вы в классе пишите универсальный механизм для всех экземпляров (построенных на базе этого класса), то нужно иметь возможность создать условную переменную, которая бы указывала на конкретный будущий экземпляр…

Офлайн

#2 Окт. 23, 2015 18:09:15

@Aleks@
Зарегистрирован: 2015-10-23
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

(Self)

@Aleks@
условную переменную
Мне почему-то хочется назвать ссылкой
Спасибо

Отредактировано @Aleks@ (Окт. 23, 2015 18:10:50)

Офлайн

#3 Окт. 24, 2015 00:47:07

Kon52
Зарегистрирован: 2015-01-31
Сообщения: 66
Репутация: +  3  -
Профиль   Отправить e-mail  

(Self)

“Имя self внутри метода – имя самого первого аргумента, в соответствии с общепринятыми соглашениями, – автоматически ссылается на обрабатываемый экземпляр, поэтому операция присваивания сохраняет
значения в пространстве имен экземпляра, а не класса.”
Цитаты великих людей

Офлайн

#4 Окт. 25, 2015 03:20:29

TitanFighter
Зарегистрирован: 2015-06-23
Сообщения: 99
Репутация: +  0  -
Профиль   Отправить e-mail  

(Self)

Я тоже долго путался в этом 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 (Методы) понятным языком написано про селф.

Отредактировано TitanFighter (Окт. 30, 2015 04:28:02)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version