№1 Практическая онлайн-школа обучения языкам программирования Python (Django), JavaScript, Kotlin В. Бовсуновского.

Специальная, подарочная акция получения доступа к Django4!

Как, я, начал код писать в Python? Смотрите, если уперлись и ничего не получается.

  

дата публикации: None


24. Уберём return в __new__.

мы рассмотрели более тонкую работу __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__.

<< Назад  |  Далее >>


Все уроки с тегом:  система-отработки-кода