Уведомления

Группа в Telegram: @pythonsu

#1 Март 11, 2017 17:06:46

4kpt_V
От: Харьков
Зарегистрирован: 2017-02-19
Сообщения: 299
Репутация: +  12  -
Профиль   Отправить e-mail  

Зачем писать self.name = name, а после использовать self.name вместо name?

В объектно-ориентированном программировании конструктор класса (от англ. constructor) — специальный блок инструкций, вызываемый при создании объекта.

Т.е. конструктор на себе берет все операции по созданию объекта. В python это дело разнесено по двум методам поэтому ни один ни другой не может быть конструктором. Ну это если пользоваться классической терминологией.

Мало того, приведу цитату из “Вглубь языка Python”:

Метод __init__ вызывается сразу после создания экземпляра класса. Соблазнительно, но не правильно называть этот метод конструктором. Соблазнительно, потому что он выглядит как конструктор (принято, чтобы __init__ был первым методом, определенным в классе), ведет себя как коструктор (это перый кусок кода, вызываемый в созданном экземпляре класса) и даже называется как коструктор. Неправильно, так как к тому времени, когда вызывается метод __init__, объект уже создан и вы имеете ссылку на созданный экземпляр класса. Но метод __init__ — это самое близкое к конструктору, из того что есть в языке Python.

Отредактировано 4kpt_V (Март 11, 2017 17:12:13)

Офлайн

#2 Март 11, 2017 17:45:47

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Зачем писать self.name = name, а после использовать self.name вместо name?

4kpt_V
Т.е. конструктор на себе берет все операции по созданию объекта.
__new__ этого не делает?



Офлайн

#3 Март 11, 2017 17:46:28

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Зачем писать self.name = name, а после использовать self.name вместо name?

4kpt_V
Ну это если пользоваться классической терминологией.
Ой! Это какой?



Офлайн

#4 Март 11, 2017 17:49:04

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Зачем писать self.name = name, а после использовать self.name вместо name?

4kpt_V
Дружище, ты какой-то женский журнал типа “Cosmopolitan” цитируешь, не надо так. Цитируй нормальных пацанов со ссылками.



Офлайн

#5 Март 11, 2017 18:15:53

4kpt_V
От: Харьков
Зарегистрирован: 2017-02-19
Сообщения: 299
Репутация: +  12  -
Профиль   Отправить e-mail  

Зачем писать self.name = name, а после использовать self.name вместо name?

Марк Пилгрим это автор женского журнала?
Т.е. Денис Откидач, когда переводил эту работу не понимал, что он пишет?
FishHook, ты звезду, случаем, не поймал???

Офлайн

#6 Март 11, 2017 18:23:50

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Зачем писать self.name = name, а после использовать self.name вместо name?

Даш ссылку на которую я смогу кликнуть, тогда продолжим разговор.
Возможно, наши провайдеры что-то блокируют, сделай большие буквы А перед и поле ссылки.

4kpt_V
FishHook, ты звезду, случаем, не поймал?
Да с чего бы? Предпосылок нет.

Не, ну а еще я пьян.



Отредактировано FishHook (Март 11, 2017 18:24:55)

Офлайн

#7 Март 11, 2017 18:28:08

4kpt_V
От: Харьков
Зарегистрирован: 2017-02-19
Сообщения: 299
Репутация: +  12  -
Профиль   Отправить e-mail  

Зачем писать self.name = name, а после использовать self.name вместо name?

Т.е. ты всех отсылаешь гуглем пользоваться, а сам еще не научился

Вглубь языка Python

Ну и про авторов, чтобы уже все было на своих местах

Смотрим вначале

Офлайн

#8 Март 11, 2017 18:44:21

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Зачем писать self.name = name, а после использовать self.name вместо name?

Виталий, я пытаюсь быть корректным. Я правда не понимаю, что на тебя нашло с учетом того, что ты не пьешь. Ты какую-то ерунду несешь на мой взгляд, и в связи с этим мне очень охота послать тебя по матери, но я все таки жду от тебя конкретики. А если ты меня еще раз пошлешь на сайт http://ru.diveintopython.net/toc.html я тебя тоже пошлю, дальше чем ты думаешь.



Офлайн

#9 Март 11, 2017 18:58:53

4kpt_V
От: Харьков
Зарегистрирован: 2017-02-19
Сообщения: 299
Репутация: +  12  -
Профиль   Отправить e-mail  

Зачем писать self.name = name, а после использовать self.name вместо name?

Я не пойму чего ты от меня хочешь?
Тебе кинуть pdf книги на английском или показать где скачать и указать номер страницы?
Ну хорошо
Раз гугль для тебя непосильно сложный механизм, тогда
Скачать книгу на английском можно здесь
Номер страницы 56. Я надеюсь, ты справишься…

Ну и если тебе надо в печатном варианте, тогда
Вот тут можно купить

Отредактировано 4kpt_V (Март 11, 2017 19:00:57)

Офлайн

#10 Март 11, 2017 19:05:24

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Зачем писать self.name = name, а после использовать self.name вместо name?

4kpt_V
Скачать книгу на английском можно здесь
Номер страницы 56. Я надеюсь, ты справишься…
Ну Ок. Скачал, смотрю, и что я должен увидеть?



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version