Tag: mixins

Правильное использование Django Mixins

Поэтому я только начал переносить свой старый код на классы, основанные на представлениях, и я все еще новичок в этом. Мой вопрос связан с Django mixins, где у меня есть mixin, который я собираюсь использовать в различных классах для проверки некоторой информации. Проблема в том, что я не знаю, как получить доступ к информации, которую […]

Смешивание общих полей между сериализаторами в Django Rest Framework

У меня есть это: class GenericCharacterFieldMixin(): attributes = serializers.SerializerMethodField('character_attribute') skills = serializers.SerializerMethodField('character_skill') def character_attribute(self, obj): character_attribute_fields = {} character_attribute_fields['mental'] = {str(trait_item.get()): trait_item.get().current_value for trait_item in obj.mental_attributes} character_attribute_fields['physical'] = {str(trait_item.get()): trait_item.get().current_value for trait_item in obj.physical_attributes} character_attribute_fields['social'] = {str(trait_item.get()): trait_item.get().current_value for trait_item in obj.social_attributes} return character_attribute_fields def character_skill(self, obj): character_skill_fields = {} character_skill_fields['mental'] = {str(trait_item.get()): trait_item.get().current_value for […]

Проблема с алмазом при использовании MixIns в Python

Пожалуйста, рассмотрите следующий код, реализующий простой MixIn : class Story(object): def __init__(self, name, content): self.name = name self.content = content class StoryHTMLMixin(object): def render(self): return ("<html><title>%s</title>" "<body>%s</body></html>" % (self.name, self.content)) def MixIn(TargetClass, MixInClass): if MixInClass not in TargetClass.__bases__: TargetClass.__bases__ += (MixInClass,) if __name__ == "__main__": my_story = Story("My Life", "<p>Is good.</p>") # plug-in the MixIn […]

Стандарты Python MixIn

Поэтому я пишу код и недавно столкнулся с необходимостью реализовать несколько миксинов. Мой вопрос в том, каков правильный способ разработки микширования? Ниже приведен пример кода ниже, чтобы проиллюстрировать мой точный запрос. class Projectile(Movable, Rotatable, Bounded): '''A projectile.''' def __init__(self, bounds, position=(0, 0), heading=0.0): Movable.__init__(self) Rotatable.__init__(self, heading) Bounded.__init__(self, bounds) self.position = Vector(position) def update(self, dt=1.0): '''Update […]

Python mixin для расширения свойства класса

Попытка выяснить, как написать некоторые mixins для команды управления Django, которая будет обертывать BaseCommand.option_list не теряя значения текущего класса или любых унаследованных классов / mixins. Цель состоит в том, чтобы не выполнять в моих командах BaseCommand.option_list + MyCommonOptionMixin.option_list + MyOtherCommonOptionMixin.option_list + ( local command options ) команды). Пример: class BaseCommmand(object): option_list = ( # Default […]

Python Mixin для __str__and определения разрешения метода

Я нахожу, что многие классы, которые я пишу в Python, содержат небольшой набор переменных, которые я действительно хотел бы видеть, когда я вызываю str() , и что переписывание __str__(self) для каждого из них довольно громоздко. Таким образом, я приготовил следующий микшин, class StrMixin(object): ''' Automatically generate __str__ and __repr__ ''' def __str__(self): import types name […]

Микшины, мультинаследование, конструкторы и данные

У меня есть класс: class A(object): def __init__(self, *args): # impl Также «mixin», в основном другой класс с некоторыми данными и методами: class Mixin(object): def __init__(self): self.data = [] def a_method(self): # do something Теперь я создаю подкласс A с mixin: class AWithMixin(A, Mixin): pass Моя проблема в том, что я хочу, чтобы вызывали конструкторы […]

Каковы изящные способы сделать MixIns в Python?

Мне нужно найти элегантный способ сделать 2 вида MixIns. Первый: class A(object): def method1(self): do_something() Теперь MixInClass должен сделать MixInClass следующим: do_other() -> A.method1() -> do_smth_else() – т.е. в основном «обернуть» более старую функцию. Я уверен, что должно быть хорошее решение. Во- вторых: class B(object): def method1(self): do_something() do_more() В этом случае я хочу, чтобы […]

Динамически смешивать базовый класс с экземпляром в Python

Можно ли добавить базовый класс к экземпляру объекта (а не классу!) Во время выполнения? Что-то вроде того, как Object#extend работает в Ruby: class Gentleman(object): def introduce_self(self): return "Hello, my name is %s" % self.name class Person(object): def __init__(self, name): self.name = name p = Person("John") # how to implement this method? extend(p, Gentleman) p.introduce_self() # […]

Python: Использование декораторов v / s mixins?

Я понял основы декораторов и миксинов. Декораторы добавляют новую функциональность к объекту без изменения других экземпляров объекта того же класса, в то время как mixin – это своего рода множественное наследование, используемое для наследования от нескольких родительских классов. Означает ли это, что декораторы должны использоваться, когда вам нужно будет модифицировать только один экземпляр объекта и […]

Interesting Posts for Van-Lav

scipy.sparse dot чрезвычайно медленный в Python

Как связать поиск атрибутов, который может вернуть None в Python?

Как я могу поймать событие приостановки системы в Python?

Python – ускорить преобразование категориальной переменной в ее числовой индекс

когда использовать DataFrame.eval () в сравнении с pandas.eval () или python eval ()

Как расширить access_token страницы в facebook с помощью facebook python sdk

Реализовать список python с ограничениями

Почему мой файл закрывается, если я ничего не сделаю с ним некоторое время?

Есть ли способ выяснить, является ли A подматрицей B?

.write не работает в Python

Мультипликативный Python обратный в GF (2) конечное поле

Как я могу получить те же «специальные» решения для недоопределенных линейных систем, которые возвращает оператор Matlab `A \ b` (mldivide) с помощью numpy / scipy?

Печать вывода python tkinter

Поведение всех () в python

Использовать Python для вставки макросов в таблицы

Python - лучший язык программирования в мире.