metaclass

Несоответствие множественного наследования метакласса

Почему это: class MyType(type): def __init__(cls, name, bases, attrs): print 'created', cls class MyMixin: __metaclass__ = MyType class MyList(list, MyMixin): pass хорошо, и работает, как ожидалось: created <class '__main__.MyM ...

Как работает мета-класс Django?

Я использую Django, который позволяет людям добавлять дополнительные параметры в класс с помощью class Meta. class FooModel(models.Model): ... class Meta: ... единственное, что я нашел в документации Python было: class FooMetaClas ...

Как сделать новые декораторы доступными внутри класса, не импортируя их явно?

Можно ли изменить класс таким образом, чтобы сделать доступным определенный декоратор метода, без необходимости явно импортировать его и без необходимости префиксировать его (@something.some_decorator): class SomeClass: @some_decorator def ...

Методы класса авторегистрации с использованием декоратора

Я хочу иметь возможность создать Python decorator, который автоматически "регистрирует" методы класса в глобальном репозитории (с некоторыми свойствами). Пример кода: class my_class(object): @register(prop1,prop2) def my_method( arg1,arg2 ...

Преобразование Python2 в Python3 с помощью метаклассов привело к неправильному потоку

У меня есть очень большой проект Python 2.7.6, который мне нужно преобразовать в Python 3.4. Я использовал скрипт 2to3, но обработка "метакласса", похоже, нарушена. Я отфильтровал код, чтобы сократить и точно определить проблему. Следующий фрагмент ...

Рубиновый метакласс безумие

Я застрял. Я пытаюсь динамически определить метод класса,и я не могу обернуть свою голову вокруг модели ruby metaclass. Рассмотрим следующий класс: class Example def self.meta; (class << self; self; end); end def self.class_instance; se ...

Как передаются аргументы метаклассы в Python

У меня есть метакласс для строковых данных. Любые записи вообще должны быть присущи этому классу, поэтому вы можете видеть ниже, что я пытаюсь присущи дважды, один раз для программ и один раз для активов. Но мне нужно передать OrderedDict в метакласс ...

Улучшение синтаксиса SQLAlchemy для полиморфной идентичности

У меня есть декларативный базовый класс Entity, который определяет столбец name как полиморфный, например class Entity(DeclarativeBase): name = Column('name', String(40)) __mapper_args__ = {'polymorphic_on':name} В подклассах я мог бы теп ...

Понимание подкласса init

Я, наконец, обновил свою версию python и обнаружил новые функции, добавленные. Помимо всего прочего, я почесывал голову вокруг нового __init_subclass__ метод. Из документов: Этот метод вызывается всякий раз, когда содержащий класс является подкл ...

Метакласс для параметризации наследования

Я прочитал несколько руководств по Метаклассам Python. Я никогда не использовал его раньше, но он мне нужен для чего-то относительно простого, и все учебники, похоже, ориентированы на гораздо более сложные случаи использования. Я в основном хочу со ...

.self after struct введите в Swift

Меня смущает строка кода, найденная в металлическом примере, где указатель памяти привязан к типу. uniforms = UnsafeMutableRawPointer(uniformBuffer.contents()).bindMemory(to: Uniforms.self, capacity: 1) Моя путаница-это .self После типа Uniforms. ...

Добавить метод в метакласс

Я просто играю с программированием метакласса в Groovy. Но внезапно я столкнулся с небольшой проблемой, которую никак не мог решить... Вот простой скрипт: // define simple closure def printValueClosure = { println "The value is: '$delegate'" } S ...