170 похожих чатов

Есть base class, там метод ,а в методе есть: ``` class

BaseClass:
def some_method():
execute_function = getattr(BaseClass, ‘get_sum’)(1,2)
```
когда я наследуюсь от BaseClass в Child.
class Child(BaseClass):
def get_sum(a, b):
return a + b



BaseClass не может найти функцию get_sum у Child. Как сделать так, чтобы функция вызвалась из Child класса ?


я пробовал отнаследоваться из бейс и переписать метод в чайлд:
```
def some_method():
execute_function = getattr(Child, ‘get_sum’)(1,2)
```
но так мне не нравится, слишком много кода получается.

пробовал с classmethod, работает, но у меня в get_sum cсылки с self.

22 ответов

12 просмотров

Последний абзац вообще не понял

Tishka17
Последний абзац вообще не понял

Тишка посоветуй где лучше всего сделать регистрацию фильтров? Точнее в какой части кода

что? зачем родитель должен искать метод ребенка

Alex
что за фильтры?

Обычное «создание фильтров»

Aile
что? зачем родитель должен искать метод ребенка

У него который день нарушение логики

🎱- Автор вопроса
Tishka17
Последний абзац вообще не понял

``` class BaseClass: def some_method(): execute_function = getattr(BaseClass, ‘тут будет название функции из json ’)(1,2) ``` мне нужно реализовать в Child метод с названием из json, пусть будет get_sum. class Child(BaseClass): def get_sum(self, a, b): return a + b таким образом, когда я буду вызывать Child, BaseClass смог вызвать get_sum.

Хуйня какая-то

🎱
``` class BaseClass: def some_method(): ...

Базовый класс ничего не знает о дочерних

🎱
``` class BaseClass: def some_method(): ...

почему BaseClass что то вообще должен делать

🎱- Автор вопроса

я конечно могу отнаследоваться от Base и переписать метод в Child передав туда название класса Child. Но мне бы хотелось написать только сам метод в Child который поступает из json а getattr смог найти этот метод, либо вынести логику с getattr в другой метод и передавать название класса в Childе. с classmethod работает кстати.

Где блин self?

1. Почему getattr вызывается не у self? 2. Где валидация допустимых значений имен функции? Что будет если туда передадут __init__ 3. Что делать если код класса поменяется, но захочется сохранить имена в json?

🎱- Автор вопроса
Tishka17
1. Почему getattr вызывается не у self? 2. Где вал...

хорошие вопросы, но это следующие пункты. Сейчас нужно решить именно это, я так понимаю кроме переписывания метода в чайлд классе нет других способов? и что значит getattr не вызывается не у self?

🎱
хорошие вопросы, но это следующие пункты. Сейчас н...

значит почему ты первый аргумент getattr - класс, а не экземпляр

🎱- Автор вопроса

действительно, так заработало. Спасибо Тишка)

🎱- Автор вопроса
Tishka17
Где блин self?

теперь я понял, что ты имел ввиду self в getattr

🎱- Автор вопроса
Tishka17
логика понятна?

да, теперь понял

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта