Наконееееец то я понял этот пресловутый __name__ == __main__ . Я столько материала пересмотрел и все в один голос: что бы сделать модуль запускаемым пропишите это фрагмент кода.... Всё!! на этом объяснение у всех почему то заканчивается!!! Откуда этот __name__? зачем проводить условие сравнения с __main__? ощущение как будто эти псевдоПреподователи зазубрили и крепко держат у себя в уме(просто напишу этот фрагмент кода и всё по идее будет работать, а моей аудитории скажу что этот фрагмент делает модуль запускаемым🤯🤯🤯🤯). Спасибо тебе Сергей! Жаль я столько времени, усилий и денег потратил на прочие ресурсы обучения. Твои способности доносить до слущающего просто великолепны! Я сдерживался все это время чтобы оценить тебя как знающего свое дело как преподаватель (ну учит в целом не плохо, получше остальных, но с каждым разом убеждался(вот же очередной внятный ответ на мои вопросы) все больше и больше, и этот загадочный __name__==__main__ стал МЕГАочевидным для меня, чего раньше я никак не мог впустить себе в голову и откладывал на неопределенное время!!)
Однозначно в самые первые закладки по Python. Пол дня лопатил какой то кал в интернете. Толком ни кто объяснить не может. У вас всё как всегда по полочкам и в одном месте. Огромное спасибо!
Спасибо за урок. Разберите пожалуйста, как импортировать функцию из модуля, если головной проект лежит в Папке №1 -> Модуль X, а нужная функция в Папке № 2 -> Модуль Y ? Папки друг в друга не вложены. И правильно ли будет засунуть эти папки (каталоги) в пакет и через __init__ импортировать нужную функцию?
@selfedu, Вас уже возможно поправляли на эту тему, но я на всякий случай сделаю замечание: 'MATH' на английском читается как 'МАТ', либо, как учат питерских блогеров, 'МАФ'. A 'MAЧ' у современных учащихся вызывает любые ассоциации, но только не связанные с математикой. то же самое относительно слова 'PATH' и ему подобным
Вас уже наверное тоже поправляли но MATH имеет на конце TH (Глухой зубной щелевой согласный, обозначение «θ») которого в русском вообще нет, но ближайший аналог это буква С а не Т. А вот Сергей произносит матЧ, потому что на конце буква эйЧ , и если вы перевернете букву Ч то обнаружите букву h
КАТАЛОГ, ФОЛДЕР, ДИРЕКТОРИЯ - это просто синонимы к привычному слову ПАПКА, которые употребляются в зависимости от контекста. это на случай, если кого-то испугали или запутали незнакомые слова.
А в чем разница 'текущий каталог' и 'рабочий каталог'. Текущий каталог это тот в котором выполняется программа. Но в примере рабочий не является текущим он просто внешний. Спасибо! Очень крутой урок.
Рабочий каталог устанавливается окружением, в данном случае PyCharm, это тот каталог, относительно которого определяются другие каталоги, если используются относительные пути. А текущий - это тот, в котором находится модуль (файл py).
Спасибо за урок! Но сколько бы я не импортировал свои модули, то они работают, но нет отображения тех функций, что я импортировал. После точки он не предлагает мне возможные имена из импортированного модуля... кеш обновлял и всё ровно..
То есть если в 2х фалах вызывающих друг друга, если будет import и importlib.reload , то в таком случае они уже будут вызывать друг друга до бесконечности?
Проверил, бесконечного цикла нет, но оно как то очень странно работает, странная последовательность выполнения действий. Но я не особо шарю в этом всем, поэтому хз почему так.
Так как преподаватель не всегда знает где у новичка возникнет вопрос задам ег я пока я ещё новичёк )))) В видео на ua-cam.com/video/hWsBYrASuqU/v-deo.html времени есть выражение - ПОВТОРНО ИМПОРТИРОВАТЬ..... ВОПРОС : Зачем это нужно, для чего нужно и так далее. В курсе степика нет объяснения для чего это нужно, в каких случаях используется, нет примера из жизниб что-бы не просто запомнить информацию ( напомню я новичек- чайник) а ПОНЯТЬ в чем смысл такого метода как повторный запуск import если он уже прописан в начале файла..... (((((
Спасибо, очень лаконично и по делу 💪 А что делать в ситуации, когда, например, написал свой модуль, в котором использовал импорт функции, пусть будет синус из math. При импорте этого своего модуля все равно повляется возможность импортировать не только "свои" функции, но и этот злосчастный синус. Как его скрыть от глаз пользователя? Ну этот синус совсем не к месту будет в IDE выпрыгивать в подсказках при обращении к модулю. А если для написания своих функций в модуле использовал кучу сторонних пакетов, то вообще получается не очень - образаешься к модулю, а там сборная солянка из своих функций, и функций из других пакетов...
Внутренние ф-ии следует начинать с _. Лучше делать from math import sin as _sin, и использовать внутри кода в таком виде (_sin). Тогда этот _sin должен игнорироваться IDE.
Спасибо за хороший курс. Однако на будущее советую английские слова поизносить правильно. Math читает, как мас. Не путать с популярным словом match - мaтч
Чел, тебе не пофигу ли? Вы на такие мелочи обращаете внимание, когда автор даёт кладезь полезной инфы. Походу у меня есть кумир преподавания. Спасибо Автору!
import sys sys.path.append(r"d:\Programm files\python va spyder\Fayl saqlanmalar\folder\") import folder.Ruscha1 import pprint pprint.pprint(sys.path) SyntaxError - показывает такую ошибку unterminated string literal (direkt at line 2)
Стоп а main пишется если именно в этом файле который был запущен не было import просто в функции def float print есть mymodule а это ссылка на файл ex1 а там есть import или я что-то неправильно понял mymodule в print это ссылка на файл mymodule в файле ex1? Объясните пожалуйста
Отдельное спасибо, что делаете уроки с удобным масштабом для смартфонов. Очень помогает
Наконееееец то я понял этот пресловутый __name__ == __main__ . Я столько материала пересмотрел и все в один голос: что бы сделать модуль запускаемым пропишите это фрагмент кода.... Всё!! на этом объяснение у всех почему то заканчивается!!! Откуда этот __name__? зачем проводить условие сравнения с __main__? ощущение как будто эти псевдоПреподователи зазубрили и крепко держат у себя в уме(просто напишу этот фрагмент кода и всё по идее будет работать, а моей аудитории скажу что этот фрагмент делает модуль запускаемым🤯🤯🤯🤯). Спасибо тебе Сергей! Жаль я столько времени, усилий и денег потратил на прочие ресурсы обучения. Твои способности доносить до слущающего просто великолепны! Я сдерживался все это время чтобы оценить тебя как знающего свое дело как преподаватель (ну учит в целом не плохо, получше остальных, но с каждым разом убеждался(вот же очередной внятный ответ на мои вопросы) все больше и больше, и этот загадочный __name__==__main__ стал МЕГАочевидным для меня, чего раньше я никак не мог впустить себе в голову и откладывал на неопределенное время!!)
СПАСИБО! я наконец-то поняла зачем нужна конструкция со сравнением __name__ и __main__ :)
Сергей, шикарное объяснение. Спасибо!
Спасибо тебе Добрый Человек!!!!!
спасибо за разъяснения про path. Невероятно понятные и грамотные уроки
Чем больше смотрю курс,тем больше он мне нравится
просто огоромнейшее спасибо, все очень доступно обьясняете
жаль нельзя лайк несколько раз поставить, респект за такие уроки
Просто супер про импорты, хто самая темная тема в питоне )
УРА! НАконец-то мне нормально объяснили про __main__ )) СПасибо
+1
Однозначно в самые первые закладки по Python. Пол дня лопатил какой то кал в интернете. Толком ни кто объяснить не может. У вас всё как всегда по полочкам и в одном месте. Огромное спасибо!
Я и не думал, что создание и импорт своих модулей так прост )
Спасибо!
очень круто про импорт собственных модулей, отличный и познавательный урок!
Спасибо. Лучше, чем я ожидал )
Тут всё вроде понятно, но с другой стороны немного запутанно и придётся проходить ещё не один раз, всё равно респект!
ты красава. просто классные объяснения
Круто, наконец то я понял зачем нужен main =name., Спасибо за объяснение!
Спасибо ! Многое для себя уяснил!
очень полезно и поучительно, спасибо
Спасибо за абсолютный импорт
Спасибо за урок. Разберите пожалуйста, как импортировать функцию из модуля, если головной проект лежит в Папке №1 -> Модуль X, а нужная функция в Папке № 2 -> Модуль Y ? Папки друг в друга не вложены. И правильно ли будет засунуть эти папки (каталоги) в пакет и через __init__ импортировать нужную функцию?
@selfedu, Вас уже возможно поправляли на эту тему, но я на всякий случай сделаю замечание:
'MATH' на английском читается как 'МАТ', либо, как учат питерских блогеров, 'МАФ'. A 'MAЧ' у современных учащихся вызывает любые ассоциации, но только не связанные с математикой.
то же самое относительно слова 'PATH' и ему подобным
непосредственно по теме урока вопросов нет. доходчиво, как всегда!
Вас уже наверное тоже поправляли но MATH имеет на конце TH (Глухой зубной щелевой согласный, обозначение «θ») которого в русском вообще нет, но ближайший аналог это буква С а не Т. А вот Сергей произносит матЧ, потому что на конце буква эйЧ , и если вы перевернете букву Ч то обнаружите букву h
КАТАЛОГ, ФОЛДЕР, ДИРЕКТОРИЯ - это просто синонимы к привычному слову ПАПКА, которые употребляются в зависимости от контекста.
это на случай, если кого-то испугали или запутали незнакомые слова.
Очень печально, что у хороших видео-обучалок питону мало просмотров.
спасибо
Спасибо!!!
Спасибо за уроки. Было бы хорошо показать разбиение на модули в программе с ООП.
Спасибо за урок! Один вопрос: как импортировать модуль из другого проекта? Я и в path писал путь к папке проекта, но не помогло.
А в чем разница 'текущий каталог' и 'рабочий каталог'. Текущий каталог это тот в котором выполняется программа. Но в примере рабочий не является текущим он просто внешний.
Спасибо! Очень крутой урок.
Рабочий каталог устанавливается окружением, в данном случае PyCharm, это тот каталог, относительно которого определяются другие каталоги, если используются относительные пути. А текущий - это тот, в котором находится модуль (файл py).
@@selfedu_rus Так и подумал сперва, спасибо !
👍👍👍👍👍
*Здравствуйте будет ли уроки по парсингу сайтов*
12:19 в моем случае путь до рабочей директории не появляется. Какие могут быть причины?
А как можно так-же, делать 3 модуля как у вас, на телефоне?
Legend
Спасибо за урок!
Но сколько бы я не импортировал свои модули, то они работают, но нет отображения тех функций, что я импортировал. После точки он не предлагает мне возможные имена из импортированного модуля... кеш обновлял и всё ровно..
Я правильно понимаю, что добавленный через sys.path.append модуль будет доступен только в текущей сессии?
не пробовал, скорее всего, т.к. sys обнулится потом
То есть если в 2х фалах вызывающих друг друга, если будет import и importlib.reload , то в таком случае они уже будут вызывать друг друга до бесконечности?
Ха, не пробовал ) Думаю, при reload будет перегружаться только текущий модуль, но не связанные с ним, но нужно проверять!
Проверил, бесконечного цикла нет, но оно как то очень странно работает, странная последовательность выполнения действий.
Но я не особо шарю в этом всем, поэтому хз почему так.
Если в 1м коде ex1:
-----------------------------
import importlib
import ex2
print('1.1')
importlib.reload(ex2)
print('1.2')
------------------------------
А во 2м ex2:
-------------------------------
import importlib
import ex1
print('2.1')
importlib.reload(ex1)
print('2.2')
-------------------------------
Выдает при запуски 1го файла:
-----------------------------------------
1.1
2.1
1.1
1.2
2.2
1.2
2.1
1.1
2.1
2.2
1.2
2.2
1.1
2.1
1.1
1.2
2.2
1.2
---------------------------------
@@selfedu_rus , а вот будет круто, если найдёте объяснение тому поведению, что продемонстрировал @Юра Радионов
👍
math читается - месс а не мач но всьо равно уроки крутые не смотря на то что пайтон требует время
будет ли продолжения курса на Stepik&
пока незнаю, непросто это )
@@selfedu_rus я понимаю , но все же надеюсь что вы сможете (
Спасибо, но никогда не привыкну к match и patch)
А что такое рабочий каталог, как Python определяет это?
Здравствуйте, вы берете заказы? Как можно с вами связаться. Мне нужно лабу по нейронным сетям сделать
Вот, специально написал: ua-cam.com/users/postUgybNtp2jm5lG5sdUS54AaABCQ
Автоматом выставил from folder import mymodule
А как питон определяет рабочий каталог?
у него есть предустановленные пути поиска библиотек + тот каталог, что определен текущим проектом в PyCharm (обычно, это каталог запускаемого файла)
@@selfedu_rus спасибо. То есть это сама среда PyCharm настраивает? А если я через обычный редактор запускаю? Можно как то вручную это сделать?
@@Повар-ф8в да, прописать путь в коллекции sys.path
Циклический импорт, __all__, поведение с подчеркивания - не раскрыто.
Так как преподаватель не всегда знает где у новичка возникнет вопрос задам ег я пока я ещё новичёк ))))
В видео на ua-cam.com/video/hWsBYrASuqU/v-deo.html времени есть выражение
- ПОВТОРНО ИМПОРТИРОВАТЬ.....
ВОПРОС :
Зачем это нужно, для чего нужно и так далее.
В курсе степика нет объяснения для чего это нужно, в каких случаях используется, нет примера из жизниб что-бы не просто запомнить информацию ( напомню я новичек- чайник) а ПОНЯТЬ в чем смысл такого метода как повторный запуск import если он уже прописан в начале файла..... (((((
Спасибо, очень лаконично и по делу 💪
А что делать в ситуации, когда, например, написал свой модуль, в котором использовал импорт функции, пусть будет синус из math. При импорте этого своего модуля все равно повляется возможность импортировать не только "свои" функции, но и этот злосчастный синус. Как его скрыть от глаз пользователя? Ну этот синус совсем не к месту будет в IDE выпрыгивать в подсказках при обращении к модулю. А если для написания своих функций в модуле использовал кучу сторонних пакетов, то вообще получается не очень - образаешься к модулю, а там сборная солянка из своих функций, и функций из других пакетов...
Внутренние ф-ии следует начинать с _. Лучше делать from math import sin as _sin, и использовать внутри кода в таком виде (_sin). Тогда этот _sin должен игнорироваться IDE.
Спасибо за хороший курс. Однако на будущее советую английские слова поизносить правильно. Math читает, как мас. Не путать с популярным словом match - мaтч
path - пас (путь). не путать с patch - заплпата, также часто используемое в программировании слово
Не кАталог, а каталОг. Или тогда уж просто папка
Чел, тебе не пофигу ли? Вы на такие мелочи обращаете внимание, когда автор даёт кладезь полезной инфы. Походу у меня есть кумир преподавания. Спасибо Автору!
в Visual Studio Code не получается запустить функцию в другом окне, может кто то объяснить как это сделать?
Просто качаешь пайчарм и все
так как задавать имя модуля?)))
это имя файла
Всё реально круто , но прям режет слух библиотека «мач» наверно она от математики сократилась , «мэс» наверное правильно
import sys
sys.path.append(r"d:\Programm files\python va spyder\Fayl saqlanmalar\folder\")
import folder.Ruscha1
import pprint
pprint.pprint(sys.path)
SyntaxError - показывает такую ошибку
unterminated string literal (direkt at line 2)
патч-матч - очень смешно)
"Уот это уотА" тоже доставляет.
Стоп а main пишется если именно в этом файле который был запущен не было import просто в функции def float print есть mymodule а это ссылка на файл ex1 а там есть import или я что-то неправильно понял mymodule в print это ссылка на файл mymodule в файле ex1?
Объясните пожалуйста
Як же "мач" ріже вуха
Не работает,не верю!
Что еще за ката́лог? Невозможно слушать, исправляйтесь!
супер, но много слов паразитов - вот так вот, вот это вот, вот такой
Спасибо большое. Подробно и понятно
спасибо!👏👍
Спасибо
спасибо
Спасибо