Специальная, подарочная акция получения доступа к Django4!
Как, я, начал код писать в Python? Смотрите, если уперлись и ничего не получается.
мы рассмотрели более тонкую работу __init__ и __new__, что бы не было ощущения, что __new__ работает только с
__init__, нет , нет и ещё раз нет.
Разрушим это убеждение, потому что __new__ мы будем использовать и в других ситуациях.
Вот и сейчас увидим работу __init__ и __new в зависимости от того как записано и что делают(имеется ввиду возвращает что то
__new__ или нет, и как мы видим __init__ ведёт по другому.
Ведь ранее мы говорили только о том, когда __init__ вызывает __new__ автоматически, но здесь другая ситуация, мы написали
__new__ первым и вызываем его сами, нужно понимать поведение __init__ в этом случае.
# class InitNew1(): """ Мы убираем возврат, в данном случае super, тогда __init__ будет None. """ def __new__(cls): print("создаём экземпляр") #super([type[, object-or-type]]) #return super(InitNew, cls).__new__(cls) # записи равнозначны #return super().__new__(cls) def __init__(self): print("__init__ вызывается") initnew1 = InitNew1() создаём экземпляр print (initnew1) None
Вcе записи подраздела.
Сейчас вы проходите урок: 24. Уберём return в __new__.
<< Назад | Далее >>
Все уроки с тегом: система-отработки-кода