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

Подскажите по вопросам множественного наследования в Python. Допустим, у меня есть

2 класса-миксина, у которых есть какой-то общий атрибут (допустим этот атрибут называется operation). Эти 2 класса миксина я наследую в каком-то отдельном классе, и мне нужно получить operation для каждого класса отдельно.

Как это можно сделать?
На данный момент (и как правило) operation будет равен значению operation из последнего (или первого?) отрезовившегося при наследовании (я про механизм MRO, не знаю как это точнее описать) класса. Можно ли вообще такое сделать?

7 ответов

20 просмотров

вроде питон ищет свойство поиском в глубину пока не найдет

kiriharu- Автор вопроса
Ilya Polyanskiy
вроде питон ищет свойство поиском в глубину пока н...

Это понятно, суть в другом. Как мне для каждого инстанса получать только свои аттрибуты в миксине?

это как раз тот редкий случай когда можно использовать __operation

kiriharu- Автор вопроса
Denis Pobedrya
это как раз тот редкий случай когда можно использо...

А разве это влияет? Количество подчеркиваний

kiriharu
А разве это влияет? Количество подчеркиваний

да, то что начинается с двух прочерков манглится именем класса в котором лексически написано

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта