Size: a a a

Сообщество Python Программистов

2021 January 04

A

Alexander in Сообщество Python Программистов
Руслан
Ну вот, получается изменяет копию модуля?
При импорте код загружается в память процесса и компилируется в нем. Исполнение происходит в самом процессе с учётом вносимых в процессе изменений
источник

<Юрий> 👨‍🔬 Чеб... in Сообщество Python Программистов
Руслан
Ну вот, получается изменяет копию модуля?
Питон всегда загружает модули в память и больше не трогает текст на диске
источник

<Юрий> 👨‍🔬 Чеб... in Сообщество Python Программистов
Как следуствие, каждый процесс загружает себе в память независимо
источник

A

Alexander in Сообщество Python Программистов
Конечно, если ты присваиваешь переменной модуля какое то значение - в тексте файла модуля оно не изменится, как и в параллельном процессе
источник

Р

Руслан in Сообщество Python Программистов
Alexander
Конечно, если ты присваиваешь переменной модуля какое то значение - в тексте файла модуля оно не изменится, как и в параллельном процессе
Так получается что, я изменяю данные не самого модуля?
источник

A

Alexander in Сообщество Python Программистов
Руслан
Так получается что, я изменяю данные не самого модуля?
Конечно. Ты работаешь с данными, доступными тебе
источник

А

Айван in Сообщество Python Программистов
Ku6iK_Ru6Ika
В классах по другому работает
Ну, у классов это же чтобы наследование не перезаписывало. Зачем оно модулям?
источник

<Юрий> 👨‍🔬 Чеб... in Сообщество Python Программистов
Руслан
Так получается что, я изменяю данные не самого модуля?
В любом случае ты изменяешь данные в памяти
источник

A

Alexander in Сообщество Python Программистов
Тем не менее, можно в модуле описать геттеры/сеттеры, работающие с внешней памятью, например с бд или кешами. Тогда вместо module.var=x, нужно будет писать что то типа module.setvar(x), но желаемый результат будет достигнут
источник

Р

Руслан in Сообщество Python Программистов
Alexander
Конечно. Ты работаешь с данными, доступными тебе
Но это не как не относится к тому, что я получаю копию модуля с его видимостями и тд?
источник

A

Alexander in Сообщество Python Программистов
Руслан
Но это не как не относится к тому, что я получаю копию модуля с его видимостями и тд?
Никак
источник

A

Alexander in Сообщество Python Программистов
Руслан
Но это не как не относится к тому, что я получаю копию модуля с его видимостями и тд?
Ты получаешь грубо говоря его сырой конструктор. Объектом он становится уже в твоём процессе
источник

A

Alexander in Сообщество Python Программистов
И в другом процессе это будет другой объект, сконструированный тем же конструктором
источник

А

Айван in Сообщество Python Программистов
Руслан
Но это не как не относится к тому, что я получаю копию модуля с его видимостями и тд?
Зачем вообще это всё? Глобалы из разных модулей менять… :/
источник

A

Alexander in Сообщество Python Программистов
Ну, это хорошая тренировка понимания питона "под капотом"
источник

A

Alexander in Сообщество Python Программистов
Важно понимать, что магии вне хогвартса не существует, так что вопрос более чем просто полезный
источник

Р

Руслан in Сообщество Python Программистов
источник

Р

Руслан in Сообщество Python Программистов
Чтоб это понять
источник

А

Айван in Сообщество Python Программистов
А, ну да, забыл что он книгу читает. Тогда норм
источник

K

Ku6iK_Ru6Ika in Сообщество Python Программистов
Что за книга?
источник