@airportroster · Post #618 · 08.03.2022 г., 05:02
#编号507 #LinkHub 原 #CoolGay 收录时间: 2022.03.08 官网: https://linkhub.today https://linkhub.store 群组: @LinkHubhome 频道: @LinkHublive 商店截图 注册即可有防失联套餐(十年有效期)
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #203 · 18 јан.
Бывает начинающие в процессе обучения создают файлы с именем модуля который они изучают. В результате на тестовых запусках ничего не работает😱 Всё потому, что появилась коллизия имён. Например, изучаете вы модуль datetime, и создаёте с таким именем файл (ну логично же😄) прямо в рабочей директории. Потом, при попытке импортировать datetime модуль, из-за приоритета импорта будет импортирован файл из рабочий директории а не оригинальная библиотека. Ведь имя файла это суть имя модуля! А знаете ли вы, что не все стандартные модули можно так перезаписать? Коллизии имён не подвержены builtin модули. Они всегда стоят на первом месте в приоритете импорта, поэтому их нельзя заменить. Полный список таких модулей можно посмотреть в списке sys.builtin_module_names. То есть, вы сломаете весь Python если назовёте свой модуль os или site, но если назовёте time или gc то ничего страшного не случится))) Тем не менее, никогда не называйте модули уже занятыми именами!!!⚠️ Я всегда рекомендую всем своим файлам делать именной префикс из 2-3 символов. Например я называю свои проекты так: pw_project_name pw_ui_tools.py pw_something/main.py Либо под ситуацию tst_scriptname.py (не "test" чтобы не подхватывал pytest) dbg_script.py maya_ui.py hou_menu_tools.py И искать проще, и коллизий нет. #tricks#basic
Пребарај: #coolgay
@airportroster · Post #618 · 08.03.2022 г., 05:02
#编号507 #LinkHub 原 #CoolGay 收录时间: 2022.03.08 官网: https://linkhub.today https://linkhub.store 群组: @LinkHubhome 频道: @LinkHublive 商店截图 注册即可有防失联套餐(十年有效期)