Импорт собственных модулей в Python. Import modules. Атрибут модуля __name__ и __main__

Поділитися
Вставка
  • Опубліковано 18 гру 2024

КОМЕНТАРІ • 95

  • @egoroffchannel
    @egoroffchannel  6 місяців тому +1

    🫵 Теория без практики - ничто, поэтому 👇
    🐍 stepik.org/course/63085/promo
    👉 специально для тебя создал бесплатный топовый курс по Python
    👉 В нем тебя ждет:
    📗 более 400 практических заданий на программирование
    📗 более 250 тестовых заданий на проверку материала
    📗 десятки часов видеоматерилов по теории
    📗 видеоразборы решения заданий
    📗 текстовые материалы по урокам, примеры кода
    📗 доступ к закрытому чату с дружественной обстановкой
    📗 сертификат в случае успешного прохождения курса

  • @eldos704
    @eldos704 4 роки тому +35

    Никогда не понимал, зачем нужна конструкция if __name__, спасибо помог🙂

    • @kohich3290
      @kohich3290 3 роки тому

      ага, тоже самое

  • @deniskrepak
    @deniskrepak 3 роки тому +28

    Вау, реально много нового узнал про импорты. Концовка прям открыла мир кода в import модулях, не понимал для чего в конец пишут постоянно. Спасибо большое!

  • @ВалерияМалышева-ь1в
    @ВалерияМалышева-ь1в 3 роки тому +13

    Давно хотела разобраться в конструкции if __name__= __main__. Спасибо за подробное объяснение!:) Как всегда, все сразу стало понятно:))

  • @dedpihto680
    @dedpihto680 3 роки тому +2

    блин то чувство когда давно пользуешься импортами но иногда какая то чушь творилась. теперь все понятно. гасподь благословит тебя за это видео

  • @ivanfedorov7934
    @ivanfedorov7934 4 роки тому +5

    действительно каждая минута ценная информация - спасибо!

  • @ЕрвандАгаджанян-в3к
    @ЕрвандАгаджанян-в3к 4 роки тому +12

    Это был мегаполезный урок!!!

  • @marinazilkina6875
    @marinazilkina6875 2 роки тому +3

    Артем, благодаря вам я еще раз убедилась, что преподаватель это не профессия, а призвание. сколько я ни билась с конструкцией if __name__ = '__main__', никак не могла осилить, было лишь смутное представление. Благодаря вам все стало ясно как день!Спасибо!!

  • @phobosbios
    @phobosbios 2 роки тому

    Из тонны лишней инфы, ЭТО ВИДЕО спасло меня, я понял основной принцып, спасибо огромное!

  • @KrymmyOZY
    @KrymmyOZY 4 роки тому +8

    Я сам уже давно разрабатываю на Python и могу сказать одно!
    В то время как я начинал очень не хватало таких людей как вы, которые так досконально объясняют тему!
    Я хочу сказать спасибо за ваш видео курс! И как только появиться денюшка с радостью поддержу канал на Patreon или тут на ютубе

    • @green1278dramost5
      @green1278dramost5 4 роки тому +4

      Как человек, не так давно приступивший к изучению Python, задаюсь вопросом, почему у давно разрабатывающего на Python возникает ситуация "как только появиться денюшка"? )

    • @KrymmyOZY
      @KrymmyOZY 4 роки тому +2

      @@green1278dramost5 я зп потратил на новый комп) и не работал где то месяц нормально , так как было лень

  • @юрийтурищев-в9г
    @юрийтурищев-в9г 4 роки тому +4

    Спасибо! Очень классное объяснение!

  • @ЕвгенийПоловинский-в6у

    Артем, спасибо большое.

  • @RoKoFoRu
    @RoKoFoRu 2 роки тому

    Суперское объяснение, спасибо! Не хватило разве что последнего тезиса про то запускать функции импортированного модуля.

    • @ahil7800
      @ahil7800 2 роки тому

      Да вроде всё понятно. Импортированные функции запускаешь как свои.

  • @РоманШайхутдинов-е7э
    @РоманШайхутдинов-е7э 10 місяців тому

    Посмотрел до этого 3 ролика на эту тему, понял суть благодаря твоему

  • @Jack-rq8uv
    @Jack-rq8uv 3 роки тому +1

    Очень полезная информация.

  • @crazzyhorn9636
    @crazzyhorn9636 2 роки тому

    Гениально все обяснили! Автору благодарность от души)

  • @rioriocccp5929
    @rioriocccp5929 Рік тому

    благодарю, все понятно

  • @qwertymegaforce9088
    @qwertymegaforce9088 2 роки тому

    Как всегда, очень полезный гайд

  • @IhorZabudskiy
    @IhorZabudskiy 2 роки тому

    Самое понятное обьяснение ever

  • @АлександрВолков-й6х8к

    Спасибо, очень интересный урок

  • @delsys
    @delsys Рік тому

    Спасибо ты решил мою проблему.

  • @romancomit9210
    @romancomit9210 2 роки тому

    ООО, ты меня спас, дружище, спасибо. Везде смотрю - там наклонную черту при импорте ставят ака адрес - у меня ошибку выдает - весь экран заплевал от злости. А оказывается, нужно через точку

  • @sakura_ridz
    @sakura_ridz 2 роки тому

    Емааа спасибо, всё понятно теперь

  • @huseynovlatif9655
    @huseynovlatif9655 2 роки тому +1

    очень круто , кстати очень похоже на то как модули объясняются в книге"a byte of python"

  • @namikmasimov4075
    @namikmasimov4075 3 роки тому

    Спасибо вам большое!

  • @pahimself
    @pahimself 3 роки тому +2

    Классно излагаешь

  • @kst5161
    @kst5161 Рік тому

    Благодарю)

  • @AlexRuban...
    @AlexRuban... 3 роки тому

    спасибо тебе за 5:43 , но вопрос, это как то можно вынести в настройку окружения ? как в MSVS c++? где просто настраиваешь пути - ../fgfdgf/gfdgfd/include

  • @ankhmarcius8331
    @ankhmarcius8331 4 роки тому +3

    про пути много нового узнал, спасибо ) если системные пути, и пути библиотек программа узнаёт из настроек системы, то откуда появляется путь проекта, кроме пути запускаемого файла? он создаётся в пайчарме? во время создания проекта, тупо добавляет ещё один путь? если файлы перенести в другую папку, импорты могут не работать, потому что путь проекта не будет соответствовать?

  • @igoribalan6237
    @igoribalan6237 5 місяців тому

    Очень полезный канал, Артем, а подскажите пожалуйста, как внутри одной функции, импортировать значения переменной, которая находится внутри другой функции, в другой модуль ?, спасибо

  • @alexzir
    @alexzir 4 роки тому +3

    Повезло, попал на этот канал. Супер подача!
    Где советуете лучше проходить ваши курсы ( на степике.... )?

    • @egoroffchannel
      @egoroffchannel  4 роки тому +2

      Да, там лучше

    • @alexzir
      @alexzir 4 роки тому

      @@egoroffchannel тем не менее здесь вы быстро комментируете, а там (в степике) нет, как я заметил (

    • @girrra1233
      @girrra1233 2 роки тому

      @@egoroffchannel можешь объяснить один момент, получается конструкция __name__ main используется только для контроля выполнения кода в импортируемом файле? Допустим я наложил это условие, тогда эти куски никак насильно выполнены быть не могут там куда был произведен import? Тогда я не очень понимаю зачем они вообще нужны. Я просто еще не очень в курсе проект можно организовать так, что отдельные модули будут работать независимо?(тогда это имело бы смысл)

  • @reclreclur7203
    @reclreclur7203 Рік тому

    Наконец-то узнал про энти мейн и нейм

  • @Denchik_play1
    @Denchik_play1 8 місяців тому

    Спосибо большое

  • @Das.Kleine.Krokodil
    @Das.Kleine.Krokodil 3 роки тому

    Спасибо

  • @Юрыч-э7с
    @Юрыч-э7с 4 роки тому +1

    Когда будет продолжение??

  • @somthingwrong3602
    @somthingwrong3602 4 роки тому +3

    Спасибо за уроки, все очень качественно! Вопрос: у меня в PyCharm при импорте своих модулей не видит через '.' функций импортируемого модуля, но при этом когда ее используешь то она работает.

    • @АлексейНалбантов
      @АлексейНалбантов 3 роки тому

      У меня в папке одного приложения работает с точкой. В папке другого приложения этого же проекта импорт работает без точки. Не могу разобраться как так получается

  • @k15e15
    @k15e15 2 роки тому

    Много нового узнал, спасибо вам, но у меня есть вопрос. Как переменную из функции в одном файле вызвать в другом файле?

  • @Jingotube
    @Jingotube 4 роки тому

    Артём, а классы изучаем в видео про ООП?

  • @shyma_grasious
    @shyma_grasious 3 роки тому

    и еще. Где выход на верхний уровень в импортах? почему этот важнейший момент упущен?

  • @jewwrld9385
    @jewwrld9385 2 роки тому

    Доброго времени суток.Как сделать, если у меня есть две разные программы на питоне Proga1, Proga2. Proga2 в ней есть функция, которую нужно импортировать в Proga1. Пробовал import Proga2. Не получается

  • @bananaovf
    @bananaovf 4 роки тому +1

    когда продолжение?)

  • @ПетрВ-р8ю
    @ПетрВ-р8ю Рік тому

    подскажите: я создал функцию в файле сохранил в папку пайтона. Как мне сделать так, чтобы можно было ее использовать в новых файлах, но не обязательно в той же папке?

  • @SemyonMazepin
    @SemyonMazepin Рік тому

    У меня при импорте своего кода не появляются функции в подсказках после точки. Ретёрны, ифы, вайл, такое появляется

  • @АльбертИванов-ц4х
    @АльбертИванов-ц4х 2 роки тому

    можно ли импортировать модули в несколько потоков ? например, импорт занимает много времени, пока это выполняется, делается что-то еще.

  • @akihito3920
    @akihito3920 Рік тому

    Можно ли както импортировать имена которие стоят под функцией например я хочу импортировать my_str которая стоит под функцией или так незя ?

  • @СтепСтеп-п1л
    @СтепСтеп-п1л 4 роки тому

    Здравствуйте! Не подскажете какими уроками этого канала продолжить?

  • @eldaraliev4579
    @eldaraliev4579 2 роки тому

    Как изменить переменую из другова файла, чтобы она и там стала другой???. Но не переписывала сам код!

  • @ahil7800
    @ahil7800 2 роки тому

    Присоединяюсь ко многим комментариям ниже. Вот теперь я понял что значит иф нэйм == мэйн.

  • @mariownyou
    @mariownyou 4 роки тому +1

    Видео как всегда супер, не подскажешь, какую тему для pyCharm ты используешь?

  • @nikprilutskiy7064
    @nikprilutskiy7064 Рік тому

    А как теперь эти два принта запустить, после того как мы на них такое условие повесили?

  • @dimitrilarios1227
    @dimitrilarios1227 4 роки тому +1

    Сделай пожалуйста видео об исключениях в Python.
    Спасибо.

    • @egoroffchannel
      @egoroffchannel  4 роки тому +1

      так они уже есть
      ua-cam.com/video/fN4L5ZbOR0M/v-deo.html

    • @dimitrilarios1227
      @dimitrilarios1227 4 роки тому

      @@egoroffchannel ООП только начинаю, а необходимость уже возникла, поэтому удивился что их нет в основном курсе. Спасибо.

  • @kit_js1086
    @kit_js1086 3 роки тому

    Что делать, если у меня не видит это самое пространство имен сделал все как у тебя, но ничего не высвечивается делаю так же в пайчарме все точь-в-точь ( как завставить его показать все имена? (все работает просто не показывает наличие какого либо имени)

  • @Doubkovski
    @Doubkovski 4 роки тому

    хотелось бы продолжение
    интересует следующее разбор
    допустим:
    1) есть основная программа my_app.py в ней довольна таки большой код она использует достаточно много библиотек например алхимию ос реквесты и т.д.
    2) тут принимается решение разбить на модули, например вынести классы базы в отдельный модуль, некоторые функции проверок имён в другой и т.д.
    pycharm естественно подсвечивает что необходимо так же импортировать модули и библиотеки в новом файле в который я вынес вынес часть функций
    в главном файле my_app.py также требует импорт тек же библиотек и модулей
    получается что при импортировании в my_app.py например from product_modules import ff_chekers as check
    как правильно работать если в модулях так же используется дополнительные модули и библиотеки...
    Автор запили видосик ещё коротенький минут на 5

  • @kirillusenko
    @kirillusenko 4 роки тому

    Здравствуй Егор, можешь пожалуйста подсказать книгу для веб-разработки. В идеале конечно Джанго, но фласк тоже можно. Заранее большое спасибо.

    • @egoroffchannel
      @egoroffchannel  4 роки тому +1

      Нету тут никаких Егоров, Николай!)

    • @Jingotube
      @Jingotube 4 роки тому +1

      @Polzovatel Seti Вы все с дуба рухнули?)))

  • @kinkcat77
    @kinkcat77 4 роки тому +3

    Джуниор 99р мидл 149))Вот это замануха))

  • @randyharsh3046
    @randyharsh3046 Рік тому

    как вообще из модуля может запускать файл верхнегго уровня?

  • @РикСанчез-к6ъ
    @РикСанчез-к6ъ 10 місяців тому

    обычно Артем все объяснял не спеша но по этой теме слишком торопился. Так и не понял как он перенес в папку дир проек import_st_librari.........

  • @ARoma-ew8sz
    @ARoma-ew8sz 4 роки тому

    Привет, что нужно для хорошего написания ЕГЭ (языки, и т.п)

  • @meyosh8734
    @meyosh8734 3 роки тому

    Скажите, нет ли проблем с функцией importlib.reload() в Python 3.8.6.
    Просто, ни стандартные модули ни самописанные перезагрузить не удалось. Не думаю, что ошибся в коде, хотя всякое бывает.
    Модуль M66 расположен в рядом стоящей папке dir. Код выполняется до строки importlib.reload(), а затем вылетает с ошибкой.
    Пробовал и на прямую без папки dir, но получил, что имя модуля было не определенно. Есть вероятность, что проблема в названии самой программы(В случае когда название модуля начиналось с цифры импортировать его в программу мне не удавалось)

    • @meyosh8734
      @meyosh8734 3 роки тому

      Сам код и ошибка.
      from dir.M66 import a
      import importlib
      print(a)
      a = 3
      print(a)
      importlib.reload(dir.M66)
      print(a)
      Traceback (most recent call last):
      File "E:/Files/Works/PyCharm projects/Training/66 - Импорт собственных модулей/66.2.py", line 8, in
      importlib.reload(dir.M66)
      AttributeError: 'builtin_function_or_method' object has no attribute 'M66'

    • @meyosh8734
      @meyosh8734 3 роки тому

      Разобрался, все же проблема была в расположении.

    • @egoroffchannel
      @egoroffchannel  3 роки тому

      да, там названия файлов странные

  • @Trapeciya
    @Trapeciya 4 роки тому +5

    Вот, что нужно расказывать при обучении, а не сложение и вычитание!

    • @АндрейХмелёв-н7ы
      @АндрейХмелёв-н7ы 4 роки тому

      сложение и вычитание показывается для примера. когда будешь писать программу тебе эти методы очень понадобится, только ты уже вместо цифр будешь подставлять свои переменные и т.д.

  • @ФайзДж
    @ФайзДж Рік тому

    А как создать модуль?

  • @GameFlov
    @GameFlov 2 роки тому

    Никто:
    Я который узнал об этом случайно импортировав main

  • @_-_Dan91_-_
    @_-_Dan91_-_ 4 роки тому

    Слушай, а дальше уроки будут?

  • @leonbs6059
    @leonbs6059 4 роки тому +3

    И что теперь учить?

  • @Vladimir-re8xl
    @Vladimir-re8xl 4 роки тому

    продолжение?

  • @artem614
    @artem614 4 роки тому

    Отличное видео, но ST! не STD

  • @Bloody_River
    @Bloody_River 4 роки тому +7

    "Ст лайбрери" написано, а говорят "стд". Триггерит

  • @JTmartShturmannVideo
    @JTmartShturmannVideo 4 роки тому

    ожидать продолжения?

    • @egoroffchannel
      @egoroffchannel  4 роки тому +1

      да, сейчас правда акцент видео по ООП, его можно параллельно начать изучать

  • @wavecheeez1246
    @wavecheeez1246 Рік тому

    Так хорошо начал. А потом не туда ушло всё...

  • @MrYbs-ie1jj
    @MrYbs-ie1jj Рік тому

    Вы создали не модуль, а отдельный файл

  • @artemisnuk6432
    @artemisnuk6432 2 роки тому

    Не роботает

  • @shyma_grasious
    @shyma_grasious 3 роки тому

    зачем if __name__ использовать если можно создать отдельный модуль где выполниться доп кусок кода??? ну че за говно придумали в с этим мейном? есть же модульная структура и главный файл который запускает необходимые модули. Только голову лишней инфой забиваете

  • @niktonikak1820
    @niktonikak1820 8 місяців тому

    если нет бога, то кто создал этот канал?

  • @ФдрФфф
    @ФдрФфф Рік тому

    Спасибо