Что может создать экземпляр класса из метакласса? Как я понимаю, обычно такие методы, как __init__
, __del__
, __call__
, поступают из метакласса по умолчанию type
. Это верно?Что может быть создание из метакласса
1
A
ответ
4
Мы не должны говорить о наследовании, а о создании. Класс связан с его метаклассом так же, как экземпляр связан с его базовым классом. Класс - это экземпляр метакласса.
В частности, каждое поле, определенное на метаклассе, доступно из класса как «поле метакласса». Поэтому, если для нескольких классов используется один метакласс, тогда поля в метаклассе разделяются между этими классами.
Обратите внимание, что __init__
на метаклассе - это не то же самое, что и __init__
на классе. Они не связаны. Также __call__
становится новым «конструктором». Проверьте это:
>>> class Meta(type):
... def __call__(self):
... return 1
>>> class Foo(metaclass=Meta):
... pass
>>> Foo()
1
Смежные вопросы
- 1. Создание простого метакласса
- 2. Приобретение экземпляра из метакласса
- 3. Создание метакласса для распаковки структуры в namedtuple
- 4. Что может быть подвыражением?
- 5. Наследование метакласса
- 6. Создание составного первичного ключа, когда один из столбцов может быть или не может быть нулевым
- 7. Что здесь может быть неправильным?
- 8. Что может быть нарушить прокрутку?
- 9. что может быть sql-запросом?
- 10. Что здесь может быть пустым?
- 11. Что может быть причиной ClassNotFoundException?
- 12. Как изменить класс метакласса
- 13. Создание текстовой области, которая может быть напечатана из другого класса
- 14. Создание typeclass, не может быть выведено из контекста
- 15. Java: Что может и что не может быть сериализовано?
- 16. Установка метакласса используя декоратор
- 17. Как получить метод метакласса
- 18. Использование метакласса в django
- 19. Недостаток метакласса Ruby
- 20. «Исключение Java произошло», что может быть причиной?
- 21. модель Джанго, что подклассы БАТ, дает метакласса конфликт
- 22. Что может быть включено в модуле getmodulefilename?
- 23. Возможно ли изменение метакласса из внешнего модуля?
- 24. Что может быть причиной неудачного отказа?
- 25. Что может быть использование SymbolType в Python?
- 26. Ошибка DataCacheClients, что может быть причиной?
- 27. Сообщите компилятору, что переменная может быть обновлена из другого потока
- 28. Что может быть лучшим способом назвать форму из другой формы?
- 29. Что может быть переопределяющим атрибуты UIButton из viewDidLoad?
- 30. Что может быть Regex для поиска строк из файла?
так '' __init__' __del__' '__new__' являются определяют по умолчанию мета-класса' type' как его метаклассом поле. Я прав? –
@RavinduShantha Да. – freakish
@ причудливый Спасибо –