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

У нас есть функция f(x), в которой вызываается некоторая другая

функция
def f(x):
с = some()
function(c)

но есть нюанс Эту функцию some вызывают еще раз в мейне. И выходит мы два раза вызываем одно и то же, что пгнимжает производительность
def main():
f(x)
r = some()
func(r)….

с таким же успехои можно запихнкть весь код функции f в мейн, и сделать так, чтоб значниие some() считалось лишь раз ,но тогда у нас функция будет загроможденная, что с этим можно сделать?

16 ответов

26 просмотров

1. заменить функцию на объект, заюзать везде Dependency Injection 2. в объекте сделать кэширование. Или вокруг него декоратором (паттер, а не как Денис сказал)

Ну тот случай когда не особо понятно почему функция f эту функцию some не принимает в аргументах - тогда имхо было бы сильно проще)

Dmitriy-Тiutiunnyk Автор вопроса
Tishka17
1. заменить функцию на объект, заюзать везде Depen...

а как заменить если это все методы класса

Dmitriy-Тiutiunnyk Автор вопроса
Владимир
Ну тот случай когда не особо понятно почему функци...

потому что эта функуия вообще не зависит от нее, это внутрення логика, парамеетризация будет лишняя

Dmitriy-Тiutiunnyk Автор вопроса
Владимир
Не зависит, но вызывает!)

оно зависит от датакласса ,что мы передаем и аргумент что мы передаем в яункцию сам тоже в этом датаклассе

Dmitriy-Тiutiunnyk Автор вопроса
Tishka17
у тебя есть dependency injection?

модное слово которое никто не понимает

Dmitriy Тiutiunnyk
модное слово которое никто не понимает

Никто — включая твоего тимлида, или у него есть представление?

Иван Балакин
Никто — включая твоего тимлида, или у него есть пр...

Ну там бы был какой нибудь особоый диай на ямлах...

Dmitriy-Тiutiunnyk Автор вопроса
Tishka17
настолько всё плохо?

я читал так и не смог понять, что-то сложная вещь

Dmitriy Тiutiunnyk
я читал так и не смог понять, что-то сложная вещь

https://itnext.io/dependency-injection-in-python-a1e56ab8bdd0 - почитай ДО раздела Implementing Dependency Injection in Python (далльше начинается херня)

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
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...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
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
Карта сайта