По поводу __init__.py Надо понят ьеще следующее 1. Инит - как модуль - по сути исполняет сборку всех дочерних модулей. 2. Если у тебя внутри папок без __init__.py есть одинаковые классы, методы, функции (по назаванию и сигнатуре) он ругнется, потому что именно __init__.py - идентификатор пакета 3. Если у тебя внутри папок есть __init__.py - то интерпритатор будет собирать каждую такую папку, как независимый пакет, со своим пространством имен
Очень хорошее изложение и преподнесение информации поэтому хочу задать вопрос в тему простейший код: 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.. сохранил под другим именем и все заработало - вот будет мне наука
Например, из коробки в python вам доступны функции docs.python.org/3/library/functions.html и если где-то в коде появится функция с одни из этих имен (часто видел что люди по ошибке переопределяют id) то в вашем коде оно окажется перекрытым. Глобальный скоуп это тот который не относится к области видимосту ффункции или класса.
В книжке про пакеты не понятно было написано, ты все по полочкам раскидал, спасибо большое!
Михаил, как купить твой курс по питону? на юдеми сейчас проблемки(
Круто, спасибо за материал.
Хорошо обьясняешь, спасибо!
Спасибо бро!) Пушка вышка :D
PS Компиляция это запуск кода по сути? Я правильно понял?
Нет, компиляция это немного отличное от выполнения действие - ru.wikipedia.org/wiki/Компилятор
Спасибо друг! Очень разжевал все
По поводу __init__.py
Надо понят ьеще следующее
1. Инит - как модуль - по сути исполняет сборку всех дочерних модулей.
2. Если у тебя внутри папок без __init__.py есть одинаковые классы, методы, функции (по назаванию и сигнатуре) он ругнется, потому что именно __init__.py - идентификатор пакета
3. Если у тебя внутри папок есть __init__.py - то интерпритатор будет собирать каждую такую папку, как независимый пакет, со своим пространством имен
Очень хорошее изложение и преподнесение информации
поэтому хочу задать вопрос в тему
простейший код:
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.. сохранил под другим именем и все заработало - вот будет мне наука
все класно обьяснил
блин, import module работает, а (from module import sum_module ) не работает. Пишет name 'module' is not defined
спасибо
Где же было это видео, когда я мучался с импортом для моего первого пакета pypi.
Спасибо! А как разворачивать проект на продакшне раскрывается на курсе?
Привет, нет, инфраструктурой не занимаемся, это немного другое направление.
1:56 что значит не перекрывать имена которые доступны в ГЛОБАЛЬНОМ ПРОСТРАНСТВЕ. Объясни пж
Например, из коробки в python вам доступны функции docs.python.org/3/library/functions.html и если где-то в коде появится функция с одни из этих имен (часто видел что люди по ошибке переопределяют id) то в вашем коде оно окажется перекрытым. Глобальный скоуп это тот который не относится к области видимосту ффункции или класса.
Спасибо!
Какая тема в pycharm
Сейчас инициализация вроде не работает...Я сейчас пробовал.
Да
Можно попользовать скрытые модули? О_О ну так и вены вскрыть и в окно выйти тоже можно. А потом скулят что авторы библиотеки код им сломали.
Спасибо !