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

Метаклассы Python против декораторов классов
Каковы основные различия между метаклассами Python и декораторами классов? Могу ли я что-то сделать с одним, но не с другим?
7228 просмотров
schedule 10.01.2023

class ‹* самостоятельная идиома в Ruby
Что class << self делает в Ruby ?
162556 просмотров
schedule 01.06.2023

В чем разница между type и type.__new__ в python?
Я писал метакласс и случайно сделал это так: class MetaCls(type): def __new__(cls, name, bases, dict): return type(name, bases, dict) ... вместо этого: class MetaCls(type): def __new__(cls, name, bases, dict):...
8150 просмотров
schedule 24.08.2022

метаклассы python на уровне модуля
Я прочитал Что такое метакласс в Python? и я попытался воспроизвести верхний метакласс из примера и обнаружил, что это не работает во всех случаях: def upper(cls_name, cls_parents, cls_attr): """ Make...
2288 просмотров
schedule 29.05.2022

Связь метакласса __call__ и экземпляра __init__?
Скажем, у меня есть метакласс и класс, использующий его: class Meta(type): def __call__(cls, *args): print "Meta: __call__ with", args class ProductClass(object): __metaclass__ = Meta def __init__(self, *args): print...
2442 просмотров
schedule 09.03.2023

Метаклассы Python: почему __setattr__ не вызывается для атрибутов, установленных во время определения класса?
У меня есть следующий код Python: class FooMeta(type): def __setattr__(self, name, value): print name, value return super(FooMeta, self).__setattr__(name, value) class Foo(object): __metaclass__ = FooMeta FOO = 123...
3304 просмотров
schedule 12.07.2023

Динамическое добавление методов с метаклассом или без него
Обновление – 13 декабря 2012 г. Просто для уточнения - меня не очень интересуют способы добавления методов в классы - как вы можете видеть ниже в моем вопросе и в ответах людей, существует более одного способа сделать это (язык в щеку и кончик...
3981 просмотров
schedule 31.03.2022

Аксессуар на уровне класса Ruby ведет себя по-разному внутри и снаружи класса
Код стоит тысячи слов: почему этот код действует именно так? class MyClass @variable = 0 class << self attr_accessor :variable end puts variable # => 0, as expected variable = 1 puts variable # => 1, as expected...
23 просмотров
schedule 20.08.2022

Поведение метакласса Python (без вызова __new__), есть ли объяснение?
В файле с именем exp.py (ниже) я пытаюсь понять метаклассы в Python. Похоже, что когда метод __new__ метакласса использует конструктор 'type' для создания класса, его метод __new__ не вызывается подклассом класса, использующего его в качестве...
1142 просмотров
schedule 10.02.2024

Почему этот метакласс изменяет значения только после выполнения конструктора?
class EmailAssist { def abcService = "abc" String name EmailAssist(String name) { this.name = name println abcService } EmailAssist() { } } EmailAssist.metaClass.getAbcService = {-> "test" } def e =...
62 просмотров
schedule 09.07.2022

Создание экземпляра только что созданного класса в метаклассе приводит к RuntimeError (super(): пустая ячейка __class__)
Итак, у меня есть этот метакласс, который я хочу использовать для автоматической регистрации новых компонентов, то есть подклассов некоторого базового класса компонентов. При регистрации нового компонента ожидается, что его экземпляр будет передан...
1024 просмотров
schedule 15.05.2023

Создать/имитировать изменяемый подкласс неизменяемого встроенного типа
Проблема: Я реализовал класс с довольно сложным внутренним поведением, который притворяется типом int во всех смыслах и целях. Затем, в качестве вишенки на торте, я действительно хотел, чтобы мой класс успешно прошел проверки isinstance() и...
430 просмотров
schedule 23.03.2023

ctypes и построение метаклассов: TypeError: экземпляр *class* вместо экземпляра LP_*class*
История: я использую ctypes для общения с python на C и наоборот. Я также создаю общую библиотеку C, которую тоже пытаюсь подключить. На данном этапе разработки это всего лишь простая библиотека для проверки всех концепций перед погружением в...
616 просмотров
schedule 04.06.2022

Можно ли заставить методы метакласса участвовать в разрешении методов?
Рассмотрим этот пример: class Meta(type): def method(*_, **__): print('Meta') class A(object): __metaclass__ = Meta class B(object): @classmethod def method(*_, **__): print('B') class C(A, B): pass...
35 просмотров
schedule 10.06.2023

Может ли метакласс быть вызываемым?
Чтобы поймать ваш взгляд: Я думаю, что документация может быть неправильной! Согласно документации Python 2.7.12, 3.4.3. Настройка создания класса : __metaclass__ Эта переменная может быть любой вызываемой , принимающей аргументы для...
551 просмотров
schedule 02.05.2023

Swift 3 - поиск имени/типа класса
В моем приложении используются сотни подклассов класса рисования. (Эти подклассы автоматически генерируются из художественных файлов.) В идеале я хотел бы загрузить имена некоторых подклассов, проверить, действительно ли эти подклассы доступны, и...
616 просмотров
schedule 01.06.2023

Почему аргумент ключевого слова метакласса определения класса принимает вызываемый объект?
Фон документация Python 3 четко описывает, как определяется метакласс класса: если не заданы ни базы, ни явный метакласс, то используется type() если задан явный метакласс и он не является экземпляром type(), то он используется...
549 просмотров
schedule 27.09.2022

Как наследоваться от класса, созданного с помощью конструктора?
У меня есть класс Document, этот класс действительно сложно создать, поэтому у меня есть объект-конструктор для их создания. Оба элемента не мои, поэтому я не могу их изменить Теперь я хочу создать подкласс Document, просто чтобы добавить...
141 просмотров
schedule 23.11.2022

Использование typedef с параметром конструктора
Следуя моему предыдущему вопросу, Определение члена класса в соответствии с class , я понял, что количество сегментов по умолчанию для unordered_map слишком мало для моих целей. У меня есть шаблон класса Base , который будет использовать карту...
603 просмотров
schedule 31.10.2022

PyQt5: проблемы с Mixin с метаклассом в производном классе QWidget
У меня возникают проблемы с попыткой добавить миксин с метаклассом в класс, основой которого является QWidget. Я знаю, что PyQt5 поддерживает совместное множественное наследование , и если мой класс MixIn имеет нет метакласса, тогда все работает...
1128 просмотров