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

Прошу подсказать как правильно написать свой custom int ? Пока мой

код такой:
class RecordedItem(int):
compare_count = 0

def __init__(self):
self._value = 0

def __gt__(self, other):
RecordedItem.compare_count += 1
return self._value > other._value

def __lt__(self, other):
RecordedItem.compare_count += 1
return self._value < other._value


Верно ли понимаю, что больше ничего не надо и все остальное приедет путем наследования из int ?

23 ответов

43 просмотра

Так, а зачем ты атрибут класса меняешь?

Вообще операций сравнения сильно больше 2: < > <= => == !=

Dmitry- Автор вопроса
Tishka17
Так, а зачем ты атрибут класса меняешь?

Это основная цель этого класса. Мне надо посчитать кол-во сравнений для всех экземпляров моего int

А что это вообще делать? По факту ты сделал класс, который имеет одно значение - ноль

Dmitry
Это основная цель этого класса. Мне надо посчитать...

Это какая-то учебная задача или реальная?

Dmitry- Автор вопроса
Tishka17
Это какая-то учебная задача или реальная?

Да, учебная. Книгу по алгоритмам прорабатываю. Мне надо видеть сколько сравнений

Dmitry- Автор вопроса
Aleksandr Danilov 🇺🇦
Тогда тебя куда то не туда завернуло

Можно подсчитать кол-во сравнений еще более простым способом? Как? Мне пока придумалось что на каждое число создать свой класс int который в своих переопределенных операциях сравнениях будет собирать статистику их использования. Я рад услышать и другие решения

Ты там сортировку пишешь?

У меня питон не под рукой, не могу накидать

а при таком определении не будет рекурсии случайно?)

Aleksandr Danilov 🇺🇦
У меня питон не под рукой, не могу накидать

Я просто не понял о чем речь. Ты про total ordering?

тебе в целом _value не нужен, у тебя родитель сам хранит значение

Dmitry- Автор вопроса
Tishka17
Ты там сортировку пишешь?

Я тебе больше скажу! Я мазохизом занялся! Я VIM в свою практику добавил и убрал VsCode )))

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
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
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта