Size: a a a

2021 April 06

И

Игорь in Moscow Python
Эта же самая фигня есть в классах и датаклассах. В датаклассах её пофиксили. Мне лично не хочется чтобы решение оттуда тащили в функции т.к. имхо всё тормозить начнёт
источник

А⚙

Антон ⚙️ in Moscow Python
Я бы предпочёл явный декоратор для этого
источник

А⚙

Антон ⚙️ in Moscow Python
> юзать питон
> беспокоиться о том, что что-то может сделать исполнение медленным
источник

AS

Alexander Shorin in Moscow Python
Явный декоратор аля lru_cache извне не контролируется.
источник

И

Игорь in Moscow Python
в смысле не контроллируется?
источник

AS

Alexander Shorin in Moscow Python
Ты не можешь изменить его или же проигнорировать, передав свой кэш.
источник

N

Nikolay in Moscow Python
а что, в питоне уже есть статик-переменные?
источник

А⚙

Антон ⚙️ in Moscow Python
Глобалки + джентельменское соглашение = static-переменные)
источник

И

Игорь in Moscow Python
в смысле пробрасывать кэш внутрь функции во время вызова для перекрытия стандартного? что то как сильно дофига всего в одном месте получится
источник

AS

Alexander Shorin in Moscow Python
Ну как не можешь...можешь, но это будет сильно сложнее чем простто явно передать кейворд аргумент.
источник

N

Nikolay in Moscow Python
ну нет же)
источник

AS

Alexander Shorin in Moscow Python
да. ты как будто тесты не писал (:
источник

N

Nikolay in Moscow Python
кроме того, поведение абсолютно ожидаемое для языка, где все передается всегда по ссылкам
источник

А⚙

Антон ⚙️ in Moscow Python
Не всё. По поведению числа, булевы значения и строки передаются по значению
источник

А⚙

Антон ⚙️ in Moscow Python
И да, это бесит
источник

И

Игорь in Moscow Python
ну это по поведению. но мы же знаем :)
источник

N

Nikolay in Moscow Python
ну потому что это примитивные типы, а не контейнеры. Да и не всегда там копирование происходит
источник

AS

Alexander Shorin in Moscow Python
Оно и не происходит.
источник

А⚙

Антон ⚙️ in Moscow Python
Я могу изменить переданный мне аргументом int? Нет. Значит, по значению, и мне плевать, как это в имплементации сделано
источник

AS

Alexander Shorin in Moscow Python
Тебе не нужно просто это делать, а так-то можешь.
источник