ФорумПрограммированиеPython → Understanding __new__ in Python

Understanding __new__ in Python

  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 14 июня 2012 г. 15:18


    Lately I started looking into Django code and wish to write about internals of Django. I started with Django models and will be writing about it soon. For understanding how Django models work, I had to understand what metaclasses are and how metaclasses work. Metaclasses use method "__new__" and so I looked at what "__new__" does.

    As __new__ is a static method, we will see a lttle bit about static methods and then __new__ in detail.

    • Understanding static methods.

    • Understanding method "__new__" of any class. We will see how to override method __new__ in a class.





    http://agiliq.com/blog/2012/06/__new__-python/
    adw/0
  • mathete

    Сообщения: 435 Репутация: N Группа: Джедаи

    Spritz 14 июня 2012 г. 16:51, спустя 1 час 32 минуты 48 секунд

    Спасибо, давно так не ржал.

    Для тех кто не питонист и не очень понимает, в чем прикол: Назвать __new__ статическим методом (static method), вместо метода класса(class method) в обучающей статье это неебический фейл. Это как статья "Я ща всё расскажу про волка и вообще про семейство кошачих".
  • adwo

    Сообщения: 913 Репутация: N Группа: Джедаи

    Spritz 14 июня 2012 г. 23:52, спустя 7 часов 1 минуту 9 секунд

    Вот хорошая статья - http://www.rafekettler.com/magicmethods.html
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 15 июня 2012 г. 13:51, спустя 13 часов 59 минут 17 секунд

    Для тех кто не питонист и не очень понимает, в чем прикол: Назвать __new__ статическим методом (static method), вместо метода класса(class method) в обучающей статье это неебический фейл.

    Известное правило: кто не умеет, тот учит других, как надо делать; кто умеет, тот делает.
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!