Вопросы по теме 'metaclass'

Что такое Ruby-аналог метаклассов Python?
В Python есть идея метаклассов, которые, если я правильно понимаю, позволяют вам изменять объект класса в момент создания. Вы изменяете не класс, а объект, который должен быть создан и инициализирован. Python (по крайней мере, с версии 3.0, я...
1623 просмотров
schedule 03.12.2021

Метакласс Python для автоматического запуска метода класса в производном классе
Я хочу автоматически запускать метод класса, определенный в базовом классе, в любом производном классе во время создания класса. Например: class Base(object): @classmethod def runme(): print "I am being run" def...
2835 просмотров
schedule 15.09.2021

В Python украсьте два метода одним и тем же именем, чтобы различать их.
Я пишу фреймворк, который будет использоваться людьми, немного знакомыми с Python. Я остановился на некотором синтаксисе, и для меня и для них имеет смысл использовать что-то вроде этого, где Base - это базовый класс, реализующий структуру. class...
866 просмотров
schedule 10.11.2021

Groovy метакласс, имитирующий метод службы с предложением throws
У меня абстрактный сервис: abstract class ParentService { abstract Map someMethod() throws NumberFormatException } И еще одна услуга, выходящая за рамки класса: class ChildService extends ParentService { @Override...
512 просмотров
schedule 20.09.2021

Перечисление с бесконечными / динамическими членами
Аннотация: я хотел бы иметь (целочисленное) перечисление, которое имеет некоторые (отрицательные) члены, которые соответствуют определенным состояниям и несвязанным (положительным) членам. Пример: Предположим, у нас есть запись в базе данных, в...
51 просмотров
schedule 05.11.2021

Установка метакласса обернутого класса с помощью Boost.Python
У меня есть класс Event , определенный на C++, который я открываю для Python с помощью Boost. Ожидается, что мои сценарии будут производными от этого класса, и я хотел бы выполнять некоторую инициализацию всякий раз, когда определяется новый...
521 просмотров
schedule 20.02.2022

Используйте классные категории для добавления динамических свойств
Продолжая эту запись в блоге , я пытаюсь используйте категорию для создания простого DSL для использования с классами javax.measure (JSR-275) (аналогично TimeCategory для временных интервалов) Однако я не хочу добавлять шаблонный код для...
808 просмотров
schedule 26.02.2022

Использование метакласса в классе, унаследованном от другого класса, реализованного на C
Я работаю над заменой / расширением ctypes и столкнулся с проблемой, которую не совсем понимаю. Я пытаюсь создать фабрику классов для декораторов функций обратного вызова, подобную CFUNCTYPE и . Обе фабрики производят классы, производные от...
98 просмотров
schedule 25.02.2022

MetaClass, __new__, cls и super — каков именно механизм?
Я читал такие сообщения: Что такое метакласс в Python? Каковы ваши (конкретные) варианты использования метаклассов в Питон? Python Super хорош, но вы не можете его использовать Но как-то я запутался. Много путаницы, например:...
28360 просмотров
schedule 05.03.2022

Тройное наследование иногда вызывает конфликты метаклассов
Похоже, я наткнулся на метаклассовый ад, даже когда не хотел иметь с ним ничего общего. Я пишу приложение в Qt4, используя PySide. Я хочу отделить управляемую событиями часть от определения пользовательского интерфейса, которое генерируется из...
15667 просмотров

Python: подкласс целой иерархии
Мое решение находится в конце вопроса, на основе примера Мистера Мияги Я не знал, как лучше сформулировать название. Моя идея следующая. У меня есть абстрактный базовый класс с некоторыми реализациями. Некоторые из этих реализаций ссылаются...
492 просмотров
schedule 10.03.2022

Как сослаться на экземпляр GroovyObject из методов MetaClass в Groovy?
Это надуманный пример того, что я хочу сделать, но он минимально выражает желаемое поведение. Я хочу сослаться на экземпляр объекта, для которого вызывается доступ к свойству. Сначала я попробовал «это», но это относится к охватывающему классу, а не...
1540 просмотров
schedule 21.04.2022

Ссылки на классы Delphi, также известные как метаклассы, когда их использовать
Я прочитал официальную документацию и понимаю, что такое ссылки на классы , но не могу понять, когда и почему они являются лучшим решением по сравнению с альтернативами. В документации приведен пример TCollection, который может быть создан с...
4747 просмотров
schedule 24.04.2022

Делает ли тип по умолчанию type.__call__ больше, чем вызов __new__ и __init__?
Я пишу метакласс и хочу, чтобы между __new__ и __init__ вызывался дополнительный метод. Если бы я вызывал метод до __new__ или после __init__, я мог бы написать, например, class Meta(type): def __call__(cls): ret = type.__call__()...
351 просмотров
schedule 28.04.2022

Почему метакласс не имеет доступа к атрибутам, унаследованным от подкласса класса, определенного метаклассом?
Класс Foo определяется метаклассом Meta . Метакласс перебирает атрибуты класса и выводит их на экран. Класс Bar подклассы Foo . Однако метакласс не печатает атрибуты, унаследованные от Bar. Почему у метакласса нет доступа к атрибутам...
504 просмотров
schedule 24.05.2022

Вызов super() внутри метода класса класса для доступа к методу метакласса
Как только я понял метаклассы... Отказ от ответственности : я поискал ответ перед публикацией, но большинство ответов, которые я нашел, касаются вызова super() для получения другого @classmethod в MRO (без участия метакласса) или, что...
665 просмотров
schedule 26.05.2022

Переопределить метаклассы Django Forms
ContactForm — это обычная форма в моем приложении, которая используется несколько раз. У меня уже есть Foreign Key из Contact модели в таблице Guardian . Итак, принятый ответ из решения у меня работает. Но это немного усложняет повторную...
122 просмотров

Как запретить groovy создавать имена свойств в нижнем регистре (мета)?
У меня проблема. Я хочу иметь хорошие динамические отличные классы для представления уродливой структуры XML (к сожалению, JAXB, XmlBeans и т. д. невозможны). Для этой цели мне нужны свойства с учетом регистра, чтобы отображать значения элементов из...
387 просмотров

Изменение баз объекта на основе аргументов на __init__
Я пытаюсь создать метакласс в Python, который динамически изменяет базовый класс типа во время создания в зависимости от аргументов, заданных при создании экземпляра. Короче говоря, у меня есть иерархия, C --> B --> A , но я хочу динамически...
1139 просмотров
schedule 14.07.2022

Миксин Python для расширения свойства класса
Попытка выяснить, как написать некоторые примеси для команды управления Django, которые будут обертывать BaseCommand.option_list без потери значения текущего класса или любых унаследованных классов/примесей. Цель состоит в том, чтобы избежать...
1828 просмотров