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

Вас в питоне не напрягало никогда то как работают модули

сравнивая с модулями в котлине или неймспейсами в шарпе?

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

18 ответов

16 просмотров

Под пиво сойдет

Kirill-Shikhalev Автор вопроса
quantum super position
Под пиво сойдет

А нету какого-то способа сделать типа как partial модули?

Большинство ситуаций с циклическими зависимостями в модулях -- это плохая архитектура

Нет просто нужно понять как это работает.

Kirill-Shikhalev Автор вопроса
Pavel Павлик
Большинство ситуаций с циклическими зависимостями ...

Ну типа модуль то по факту там один по смыслу, но вещи в нем лежат немного разные и их хочется разделить на разные файлы чтобы было удобнее ориентироваться, но я не могу этого сделать

Kirill-Shikhalev Автор вопроса
Алексей УЕХАЛ ДО 03.2024
Нет просто нужно понять как это работает.

Я понимаю как это работает и мне это не нравится

Kirill Shikhalev
Ну типа модуль то по факту там один по смыслу, но ...

Ну, так раздели их таким образом, чтобы не было циклических зависимлстей

Kirill-Shikhalev Автор вопроса
Pavel Павлик
Ну, так раздели их таким образом, чтобы не было ци...

Ну условно есть объект действие, у действия есть метод который принимает в себя объект юзера, у объекта юзера есть метод который возвращает действие Мне надо аннотировать оба метода, но для этого придется импортить модули друг в друга

Наоборот хорошо. Явное разделение модулей, нет риска смешать все в кучу

Kirill-Shikhalev Автор вопроса
Pavel Павлик
Что за действие?

Ну любое, грубо говоря тупо объект у которого есть def execute(user: User | None), а дальше там от него всякое наследуется

Kirill Shikhalev
Ну любое, грубо говоря тупо объект у которого есть...

А почему юзер может возвращать какое-то действие? Это точно должен быть метод юзера?

Меня в го напрягало. Перенес файл в другую папку, все нафиг сломалось

Kirill-Shikhalev Автор вопроса
Pavel Павлик
А почему юзер может возвращать какое-то действие? ...

Да, ну юзер это грубо говоря, там по факту немного другая херня. Есть класс Entity, от него есть наследник у которого в методах возвращается наследник Action, а у этого наследника Action есть поле initiator: тут наследник Entity

Kirill-Shikhalev Автор вопроса
Kirill Shikhalev
Да, ну юзер это грубо говоря, там по факту немного...

По факту спихивать все в один файл, но в условно котлине я могу просто один и тот же модуль писать в нескольких файлах и никаких проблем подобных не иметь, вот неприятно что в питоне так нельзя

Kirill-Shikhalev Автор вопроса
Pavel Павлик
А зачем такие циклические ссылки?

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта