Метаданные в классах PythonPython

Программы на Python
Anonymous
Метаданные в классах Python

Сообщение Anonymous »

В некоторых библиотеках Python я видел распространенный шаблон использования определения класса с именем Meta внутри объекта, например, модели django или ресурсы вкусного пирога. Кроме того, некоторые другие не используют это, например, Celery Tasks.
Есть ли для этого очевидная причина? Из кода вкусного пирога я вижу, что какой-то метакласс играет с внутренним определением мета-класса. Есть ли разница в метаданных и простых атрибутах модели? В моделях django легко сказать: атрибуты — это просто поля, такие как age = IntegerField, но я могу думать об атрибутах, называемых полями, или просто использовать _attrs или __attrs для метаданных. .
Считается ли это хорошей практикой?
Есть ли еще библиотеки, которые подходят к этому аналогичным образом? Или есть разные способы сделать то же самое? Есть ли здесь какая-то общая закономерность, которую я мог бы проверить?
Я хочу запустить библиотеку, и мне нравятся оба способа, и они не слишком связаны с этими двумя библиотеками, поэтому нет последовательности проблемы с выбором того или другого.

Подробнее здесь: https://stackoverflow.com/questions/132 ... on-classes

Вернуться в «Python»