По поводу __init__.py Надо понят ьеще следующее 1. Инит - как модуль - по сути исполняет сборку всех дочерних модулей. 2. Если у тебя внутри папок без __init__.py есть одинаковые классы, методы, функции (по назаванию и сигнатуре) он ругнется, потому что именно __init__.py - идентификатор пакета 3. Если у тебя внутри папок есть __init__.py - то интерпритатор будет собирать каждую такую папку, как независимый пакет, со своим пространством имен
Например, из коробки в python вам доступны функции docs.python.org/3/library/functions.html и если где-то в коде появится функция с одни из этих имен (часто видел что люди по ошибке переопределяют id) то в вашем коде оно окажется перекрытым. Глобальный скоуп это тот который не относится к области видимосту ффункции или класса.
Очень хорошее изложение и преподнесение информации поэтому хочу задать вопрос в тему простейший код: import requests r = requests.get('www.python.org') print(r.status_code) выдает в теринал ошибки: Traceback (most recent call last): File "H:\Files_py equests.py", line 1, in import requests File "H:\Files_py equests.py", line 2, in r = requests.get('www.python.org') AttributeError: partially initialized module 'requests' has no attribute 'get' (most likely due to a circular import) пробовал запускать и в IDLE и в VS code (на разнах компьютерах), причем если в IDLE в Shell просто по одной команде вводить в командную строку, то все работает (все библиотеки инсталлированы), а при запуске модуля - ошибка. Что не так? (попробуй у себя выполнить)
ахаха! - вот что значит правильно заданный вопрос - это на 80% ответ - сразу увидел свою ошибку - я назвал файл со своим скриптом как и библиотека - requests.. сохранил под другим именем и все заработало - вот будет мне наука
В книжке про пакеты не понятно было написано, ты все по полочкам раскидал, спасибо большое!
Круто, спасибо за материал.
Хорошо обьясняешь, спасибо!
Спасибо друг! Очень разжевал все
По поводу __init__.py
Надо понят ьеще следующее
1. Инит - как модуль - по сути исполняет сборку всех дочерних модулей.
2. Если у тебя внутри папок без __init__.py есть одинаковые классы, методы, функции (по назаванию и сигнатуре) он ругнется, потому что именно __init__.py - идентификатор пакета
3. Если у тебя внутри папок есть __init__.py - то интерпритатор будет собирать каждую такую папку, как независимый пакет, со своим пространством имен
Спасибо бро!) Пушка вышка :D
PS Компиляция это запуск кода по сути? Я правильно понял?
Нет, компиляция это немного отличное от выполнения действие - ru.wikipedia.org/wiki/Компилятор
1:56 что значит не перекрывать имена которые доступны в ГЛОБАЛЬНОМ ПРОСТРАНСТВЕ. Объясни пж
Например, из коробки в python вам доступны функции docs.python.org/3/library/functions.html и если где-то в коде появится функция с одни из этих имен (часто видел что люди по ошибке переопределяют id) то в вашем коде оно окажется перекрытым. Глобальный скоуп это тот который не относится к области видимосту ффункции или класса.
все класно обьяснил
Михаил, как купить твой курс по питону? на юдеми сейчас проблемки(
блин, import module работает, а (from module import sum_module ) не работает. Пишет name 'module' is not defined
Очень хорошее изложение и преподнесение информации
поэтому хочу задать вопрос в тему
простейший код:
import requests
r = requests.get('www.python.org')
print(r.status_code)
выдает в теринал ошибки:
Traceback (most recent call last):
File "H:\Files_py
equests.py", line 1, in
import requests
File "H:\Files_py
equests.py", line 2, in
r = requests.get('www.python.org')
AttributeError: partially initialized module 'requests' has no attribute 'get' (most likely due to a circular import)
пробовал запускать и в IDLE и в VS code (на разнах компьютерах), причем если в IDLE в Shell просто по одной команде вводить в командную строку, то все работает (все библиотеки инсталлированы), а при запуске модуля - ошибка. Что не так? (попробуй у себя выполнить)
ахаха! - вот что значит правильно заданный вопрос - это на 80% ответ - сразу увидел свою ошибку - я назвал файл со своим скриптом как и библиотека - requests.. сохранил под другим именем и все заработало - вот будет мне наука
Какая тема в pycharm
Сейчас инициализация вроде не работает...Я сейчас пробовал.
спасибо
Где же было это видео, когда я мучался с импортом для моего первого пакета pypi.
Спасибо! А как разворачивать проект на продакшне раскрывается на курсе?
Привет, нет, инфраструктурой не занимаемся, это немного другое направление.
Спасибо!
Да
Можно попользовать скрытые модули? О_О ну так и вены вскрыть и в окно выйти тоже можно. А потом скулят что авторы библиотеки код им сломали.
Спасибо !