Бывает начинающие в процессе обучения создают файлы с именем модуля который они изучают. В результате на тестовых запусках ничего не работает😱
Всё потому, что появилась коллизия имён. Например, изучаете вы модуль 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
荣耀林林谈 iPhone Air 降价:并不会改变销量基本面,因为它是个逆着绝大多数用户需求来的产品
荣耀中国区的业务部长林林昨日发文称 iPhone Air 的降价是由绝大多数用户需求引起的。该机采用超瓷晶面板、5级航空级钛金属结构以及高达120Hz ProMotion面板,背面配备48MP融合摄像头支持AOD 1Hz熄屏显示。手机搭载A19 Pro处理器和GPU峰值运算能力高达3倍,支持Wi-Fi 7、蓝牙 6.0和Thread网络。
标签:#iPhoneair
Created by RocM
官方频道:@rocCHL
官方群组:@roctech
官方合作:@rocmmbot