Olezhka
Он импортируется с тем же ID. То есть просто перезаписывается. Так ведь?
Все модули грузятся только первый раз и всё. Дальше они добавляются в кэш и там все висят. Каждый новый импорт ссылается на кэш.
Просто ты этими импортами по всему коду загрязняешь сам код инструкциями, которые не делают ничего.
Ещё бывает, что имя модуля можно перекрыть какой-нибудь фигнёй. И ты просто не знаешь, какие имена нельзя трогать, потому что эти имена у тебя где-то в середине кода, а не наверху на видном месте.
Вот пример перекрытия имени модуля каким-то числом
>>> import tkinter
>>>
>>> tkinter.Tk
<class 'tkinter.Tk'>
>>>
>>> tkinter = 1
>>>
>>> tkinter.Tk
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'int' object has no attribute 'Tk'
>>>
>>> tkinter + 2
3
>>>
Когда имена модулей все наверху, мы знаем, что мы не можем использовать эти имена для названий каких-то там переменных или функций.
Olezhka
Это потому что, когда импортируются все методы, код разрастается? Память забивается?
Память не забивается, забивается пространство имён. Это типа как взять все файлы со всех папок и положить в одну папку, а потом пытаться что-то найти в этой одной папке. При этом многие имена могут быть вообще одинаковыми. Начнут появляться там файлы file(1).txt, file(2).txt, file(3).txt и ты не будешь знать, что в каком файле, потому что эти цифры 1 2 3 ни о чём не говорят. Другое дело, если эти файлы все лежат в своих папках и из этого понятно, что file.txt в папке cat содержит какую-то информацию про кошку, а file.txt в папке ship содержит какую-то информацию про корабль. А если же они называются file(1).txt и file(2).txt в папке all, то там непонятно, что там в этих файлах и про что.
Модуль определяет своё пространство имён. Объект определяет своё пространство имён. Функция определяет своё пространство имён.
Поэтому ты и можешь, как в примере выше, использовать функцию main() из одного модуля и использовать функцию main() из другого модуля. Это разные функции, имена у них одинаковые, но к ним можно использовать одновременный доступ, потому что они в разных пространствах имён находятся.
Olezhka
А не хулиганят ли многие из этих установщиков, добавляя в код всяких яндекс-троянов или отправляя исходник твоей программы через “бэкдор”-порт своему создателю? Или я параною?
Это не яндексовские установщики, это Яндекс их просто нашёл. Продукцией Яндекса лучше не пользоваться, потому что у них она некачественная. Во-первых, в Яндексе работает много тупых людей, которые пишут полную лажу по меркам мирового уровня, но преподносится это всё как откровение века. Вот они так Яндекс-музыку сделали. Я включаю её на ночь, спать ложусь, просыпаюсь в три часа ночи - она не играет. Смотрю - что-то повисло у них там в сервисе. Потом снова и снова. Пиши им, не пиши им, - ничего не поможет. Там просто вот набирают тупых и отмазки какие-то лепят только постоянно. И критерии там у них “пишите так, чтобы было похоже на правду”. То есть они хотят казаться, а не быть. Так они ещё авторам наврали, что эту музыку нельзя будет скачивать, поэтому там можно все альбомы выкладывать. Как нельзя скачивать? Я даже без скачивания открываю просто кэш браузера и там вся эта музыка лежит в виде mp3-файлов, просто берёшь их, копируешь, и они у тебя будут лежать на диске без всякого сайта и играть. Мне даже не пришлось никак их качать специально. То есть авторы не шарят, они авторам врут спокойно и денежки просто делают на рекламе, а если ничего не работает, то просто отмазки лепят, пока человеку не надоест писать им.
Короче, можно долго писать. Там ещё много чего есть такого. Не будем заостряться. А знаешь, как Яндекс-диск блокируется прекрасно без причины? просто вот такая “умная” нейросеть у них типа (ну, просто дураками очередными написанная), а ты потом не можешь собственные файлы с него обратно достать. Благо, что я туда ничего не клал в единственном экземпляре, иначе просто потерял бы просто важные данные и всё. Так что забудь про эти чудесные продукты. Не будем тут про них писать, слишком много чести. Полдня там этот WebDAV настраивал подключал его в Linux к директориям. А они мне просто грохнули облачный-диск и написали “закрыто по подозрению в совершении сами не знаем чего”. В Google-диск всё то же самое выложил - всё пре-крас-но! Вот с этими можно работать. Столько времени на этот Яндекс потратил, чо-то больше как-то не хочется.
Ну, ты сам знаешь про эти их яндекс-трояны, как ты говоришь. Вот это их стиль! Я подтверждаю! Только там ещё хуже. Думаю, причина это всего в тупизне сотрудников, набирают потому что всех подряд и держат годами.
По всему миру Microsoft всех достала, а в России - Яндекс. Хорошо, что хоть альтернативы есть какие-то, а то бы они вообще в конец обнаглели, как монополисты всякие обычно делают.
Olezhka
Или я параною?
Это и правда и не правда одновременно. Если тебе нужна программа, выясняй сначала, кто её сделал. Потом, зная кто её сделал, ищи его сайт, человека там или компании. И скачивай потом только с этого сайта эту программу. Не качай через посредников, даже самых хороших.
Если ты так не будешь делать, а будешь качать её с софтосборников всяких, то рано или поздно ты нарвёшься на прошивку. Что это такое? Это сначала человек скачивает эту программу с сайта производителя, потом он в неё зашивает вторую программу и потом он эту программу с зашитой в неё программой выкладывает на софтосборник. Софтосборник при анализе того, что на него выкладывают, может не обнаружить это дело, потому что он там только антивирусами это проверяет и всё. Но зашить-то можно самодельную прогу, которая массовой не является и, следовательно, антивирусы её не знают. Ну и всё, она спокойно пройдёт на софтосборник. И ты там спокойно её оттуда скачаешь, своими антивирусами проверишь её, там всё покажет, что она чистая, и ты её запустишь, а в ней прошивка, которая начнёт действовать, а антивирус при этом будет тебе показывать, что всё отлично на компьютере. Потому что тот, кто эту прошивку делает, прекрасно знает про антивирусы и они у него все установлены и он на всех них проверил эту свою прошивку, прежде чем её зашивать куда-то.
Сколько для этого нужно знаний? Ну, нисколько. Ты просто скачиваешь такую программу-зашивальщик и потом любую программу в любую программу зашиваешь. Причём ты не знаешь, как она там работает, как она там зашивает; тебе не нужно знать, как она зашивает, потому что она просто зашивает и всё. То есть ничего умного в этом нет.
Поэтому качай программы только с сайтов производителей этих программ. (Их тоже могут прошить, взломав их сайты там и так далее, но это другой вопрос.)