Size: a a a

2020 December 01

R

Rubikoid in #ctfchat
vient
если как в partial, то было бы логично иметь разные id
Выглядит, как что-то очень фиговое с точки зрения производительности, если на каждую функу делать wrapper, пихающий конкретный экземпляр в self
источник

v

vient in #ctfchat
а как без этого?
источник

v

vient in #ctfchat
я только вижу, что id(a.f) != id(A.f), но не знаю, как там происходит процесс подставления self
источник

R

Rubikoid in #ctfchat
vient
я только вижу, что id(a.f) != id(A.f), но не знаю, как там происходит процесс подставления self
Кек в том, что
In [4]: id(a.f), id(b.f), id(A.f)
Out[4]: (2248127821376, 2248127821376, 2248127892208)
источник

v

vient in #ctfchat
да, я про это и говорю
источник

v

vient in #ctfchat
казалось бы, либо они все должны быть разными, либо все одинаковыми
источник

R

Rubikoid in #ctfchat
ну они все одинаковые
источник

R

Rubikoid in #ctfchat
В том плане, что один - обычный метод, а второй - bound метод)
источник

v

vient in #ctfchat
так в чём разница-то
источник

R

Rubikoid in #ctfchat
vient
то есть id(a.f) == id(b.f) но not (a.f is b.f) (в cpython)
(на тему is - (a.f is a.f) тоже не работает, is вообще очень своеобразный оператор)
источник

fs

falamous starstrider in #ctfchat
Rubikoid
Выглядит, как что-то очень фиговое с точки зрения производительности, если на каждую функу делать wrapper, пихающий конкретный экземпляр в self
как тогда определять привязанность?
источник

R

Rubikoid in #ctfchat
falamous starstrider
как тогда определять привязанность?
например так?)
источник

ПП

Проксимов Прксимович... in #ctfchat
Разве это секурно?
В чем несекурность? Можешь нормально мысль оформить?
источник

in #ctfchat
Проксимов Прксимович
В чем несекурность? Можешь нормально мысль оформить?
Неа
источник

R

Rubikoid in #ctfchat
Я думаю, что создается какая-то легковесная функция, которая пихает self в self, и она существует только внутри cpython, в результате чего их айдишник одинаковый
источник

v

vient in #ctfchat
Rubikoid
(на тему is - (a.f is a.f) тоже не работает, is вообще очень своеобразный оператор)
ну вообще тут вопрос не к is, а к id, наверное
источник

v

vient in #ctfchat
is действительно говорит нам, что привязанные методы разные
источник

R

Rubikoid in #ctfchat
vient
ну вообще тут вопрос не к is, а к id, наверное
В cpython id просто возвращает адрес объекта
источник

v

vient in #ctfchat
да, я знаю
источник

v

vient in #ctfchat
поэтому вопрос и возник
источник