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

Стоит ли использовать super() в Python?
Или я должен просто явно ссылаться на суперклассы, чьи методы я хочу вызвать? Кажется неудобным повторять имена суперклассов при ссылке на их конструкторы, но эта страница http://fuhm.net/super-harmful/ дает хорошие аргументы против использования...
4473 просмотров
schedule 27.12.2023

Что такое PECS (продюсер расширяет потребительскую ценность)?
Я наткнулся на PECS (сокращение от Producer extends и Consumer super ), когда читал о дженериках. Может ли кто-нибудь объяснить мне, как использовать PECS для устранения путаницы между extends и super ?
125325 просмотров
schedule 06.04.2024

Вызов super из метода модуля
Я пытаюсь переопределить метод, расположенный в Gem в Ruby/Rails, и борюсь с некоторыми проблемами. Моя цель — выполнять пользовательский код при вызове метода из Gem, а также продолжать выполнять исходный код. Я попытался абстрагировать код в...
4249 просмотров
schedule 05.10.2022

Поведение Python super() ненадежно
По какой-то причине метод super() не всегда ведет себя так, как ожидалось, возвращая: TypeError('super(type, obj): obj must be an instance or subtype of type)' Я понимаю, что означает ошибка. Я не понимаю, почему это появляется как...
17636 просмотров
schedule 20.10.2022

Как реализован super() в Python 3?
Мне интересно, как реализован новый супер в Python 3. Этот вопрос родился у меня в голове после того, как я сделал небольшой пример и получил странную ошибку. Я использую архитектуру компонентов Pyutilib (PCA) и сделал мой собственный метакласс...
2893 просмотров

Множественное наследование Python: выбор супер() для вызова
Как в Python выбрать метод Parent для вызова? Скажем, я хочу вызвать метод __init__ родительского ASDF2. Похоже, мне нужно указать ASDF1 в super()..? И если я хочу вызвать __init__ ASDF3, то я должен указать ASDF2 ?! >>> class...
25906 просмотров
schedule 31.03.2024

понимание mro и super() в python
Я понимаю, что MRO — это порядок, в котором атрибут находится в иерархии классов. Если я использую атрибут 'foo', как в myInstance.foo, будет использован первый foo, найденный в MRO. И поиск обычно останавливается. Теперь предположим, что...
548 просмотров

как написать __init__ в множественном наследовании python для создания экземпляров всех переменных
class FakeBase(object): def __init__(self, *args): pass class Parent(FakeBase): def __init__(self, x=1, *args): super().__init__(x, *args) self.var1 = x class Parent2(FakeBase): def __init__(self, x=3, y=4,...
176 просмотров

Разница в поведении между super().__init__() и явным суперклассом __init__() в Python
Я получаю необъяснимую разницу в поведении между использованием super().__init__() и явным вызовом конструктора суперкласса в моем коде. class IPElement(object): def __init__(self, ip_type='IPv4'): self.ip_type = ip_type class...
613 просмотров

Понимание декоратора @property и наследования
Python 3 здесь, на всякий случай, если это важно. Я пытаюсь правильно понять, как реализовать наследование, когда используется @property , и я уже искал StackOverflow и прочитал около 20 похожих вопросов, но безрезультатно, потому что проблемы,...
2520 просмотров
schedule 27.09.2022

Вызов метода суперкласса при множественном наследовании
У меня есть следующий код: class A: pass class B(A): def foo(self, a): if a: return 'B' return super(B, self).foo(a) class C: def foo(self, a): return 'C' class D(B, C): def foo(self, a):...
578 просмотров

Для чего нужен супер(реквизит)? Реагировать на родной
Экспериментируя с React Native и используя States. Я пришел против супер (реквизит). Я искал здесь на форуме полезное объяснение, но не нашел. Вот посмотрите на функцию, где я использую супер и конструктор... 1 Я попытался удалить параметр...
2321 просмотров
schedule 18.02.2024

«супер» и наследование в Ruby
В приведенном ниже дизайне наследования классов класс B наследует класс A и оценивает аргументы своих методов: class A def method_1(arg) puts "Using method_1 with argument value '#{arg}'" end def method_2(arg) method_1(arg)...
183 просмотров
schedule 17.12.2023

Вызов метода super forward ()
Каков наиболее подходящий способ вызова forward() метода родительского Module ? Например, если я создаю подкласс модуля nn.Linear , я могу сделать следующее class LinearWithOtherStuff(nn.Linear): def forward(self, x): y =...
1689 просмотров
schedule 21.05.2024

`super` в подклассе `typing.NamedTuple` не работает в python 3.8
У меня есть код, который работал в Python 3.6 и не работает в Python 3.8. Кажется, все сводится к вызову super в подклассе typing.NamedTuple , как показано ниже: <ipython-input-2-fea20b0178f3> in <module> ----> 1 class...
570 просмотров
schedule 11.03.2024