Питон - статьи

         

Атрибуты в экземплярах


>
>
>
charles=Prince() >
>
>
charles.attributes # ...remember, not the real world ('Power', 'Wealth', 'Beauty')

Если оказалось, что у класса Duke есть метакласс, определенный пользователем, он может получить некоторые атрибуты следующим образом:

>
>
>
class Nobility(type): attributes = Power, Wealth, Beauty

...

>
>
>
class Duke(object): __metaclass__ = Nobility

...

Кроме того, что Duke - класс, он является экземпляром метакласса Nobility - поиск атрибутов происходит как и с любым объектом:

>
>
>
Duke.attributes

('Power', 'Wealth', 'Beauty')

Но Nobility не является базовым классом Duke, поэтому нет причин, почему экземпляр класса Duke нашел бы Nobility.attributes:





Содержание раздела