#50. Пакеты (package) в Python. Вложенные пакеты | Python для начинающих

Поделиться
HTML-код
  • Опубликовано: 27 сен 2024
  • Обучающий курс: stepik.org/cou...
    Создаем свои пакеты в программе на Python. Инициализатор пакета _init__.py, коллекция __all_ для контроля за импортом. Абсолютный и относительный импорты модулей в пакетах. Вложенные пакеты.
    Telegram-канал: t.me/python_se...

Комментарии • 37

  • @KonstantinPrydnikov1
    @KonstantinPrydnikov1 3 года назад +29

    Надо признать, что у Хирьянова появился достойный конкурент. Спасибо за курс)

  • @tbassir9076
    @tbassir9076 Год назад +4

    Да, дальше всё сложнее, но относительно понятно, когда второй раз проходишь! Респектище!!!

  • @ХалилМаденбай
    @ХалилМаденбай 3 года назад +9

    автор классно объясняет, респектос и удачи в начинаниях

  • @MrTarasFin
    @MrTarasFin Год назад +1

    Сергей, вы волшебник. Я час мучился с импортом. Но посмотрев ваше видео буквально 14 минут и всё проблема решена

  • @86Blind
    @86Blind 3 года назад +6

    Как же классно все объяснено !

  • @pookharev
    @pookharev Год назад +3

    Наконец разобрался. 👍👍🏼👍🏾

  • @ДенисГайворонский-в2щ

    Узнаю очень много дополнительный нюансов, благодарю!

  • @k-065olga8
    @k-065olga8 2 года назад +2

    Спасибо Вам большое , Вы здорово все объясняете!!!!

  • @donfedor007
    @donfedor007 3 года назад +3

    Спасибо интересная тема! давно интересовала!

  • @e_butcher
    @e_butcher Год назад +2

    Спасибо, отличное изложение! Узнал что-то новое

  • @andredru4278
    @andredru4278 7 месяцев назад +1

    Спасибо. Отличный материал.

  • @ivanfedorov7934
    @ivanfedorov7934 3 года назад +8

    Суперское объяснение, данные надписи перестали быть загадкой:), спасибо автору. К собственным пакетам, применим такой синтаксис? - import courses as crs ? тогда crs.get_php - можно так делать?

    • @selfedu_rus
      @selfedu_rus  3 года назад +1

      Спасибо! Да, конечно!

  • @GROMOZEKA_NZT
    @GROMOZEKA_NZT Год назад +5

    4:35 Почему не можем? Директория __init__.py это же абсолютный путь файла, который будет добавлен в sys.path, а значит для остальных модулей находящихся в пакете не нужно приписывать лишнее courses

  • @СарматПересветов
    @СарматПересветов Год назад +2

    спасибо!

  • @illiukhin
    @illiukhin 3 года назад +4

    СПАСИБО

  • @johnmazepa
    @johnmazepa Год назад +1

    а вот этот урок мы добавляем в "избранное", чтоб долго потом не искать)

  • @jamjam3337
    @jamjam3337 Год назад +2

    спасибо!👏👍

  • @user-dendris
    @user-dendris Год назад +2

    Добавлю, что относительный путь для импорта в __init__ работает только с from, просто например import . python не сработает.

  • @СергейНауменко-ь6н
    @СергейНауменко-ь6н 2 года назад +2

    Круть

  • @Ratven666
    @Ratven666 3 года назад +7

    А есть какие-нибудь стандарты и советы по внутренней структуре пакета? Типа классы лучше в отдельный подпакет, утилиты - в другой и тд...

    • @selfedu_rus
      @selfedu_rus  3 года назад +2

      Здесь уже решает сам программист как удобнее организовать данные.

  • @ИванПатраков-е3ь

    Спасибо

  • @СергейФролов-ъ5я
    @СергейФролов-ъ5я 3 года назад +7

    Добрый день!
    Создал тестовый пакет pack1 , в котором 3 файла __init__.py , test1.py, test2.py
    Если в test2 написать
    " from test1 import * "- то все работает,
    а если так: "from .test1 import * " выдает ошибку "attempted relative import with no known parent package"
    Хотя у Сергея отрабатывает "from .python import *" (например, на 8:57 в видео)
    Другой пример, если рядом с первым пакетом положить pack2, с файлом test3.py, и в нем запустить "from ..pack1 import test1"
    У меня выскакивает та же ошибка "attempted relative import with no known parent package"
    Вроде бы одна точка - ищем в данном пакете, а если две - на уровень выше
    Может быть, Сергей или кто-то из учеников сталкивался с такой проблемой? У меня python 3.9
    Спасибо!

    • @selfedu_rus
      @selfedu_rus  3 года назад +1

      Так то вы все правильно понимаете, точка - текущий каталог, две - на уровень выше. Проверьте названия файлов и структуру папок, может где в названии русская буква проскочила )) частая ошибка )

  • @impellergimpeller5133
    @impellergimpeller5133 3 года назад +2

    👍👍👍👍👍

  • @Xmike499-
    @Xmike499- 3 месяца назад +1

    спасибо

  • @a_n_t_o_n_09
    @a_n_t_o_n_09 2 года назад

    Здравствуйте, у меня не импортируется модуль import courses.python в файл init.py

    • @selfedu_rus
      @selfedu_rus  2 года назад

      он собственный, его просто нет, наверное, у вас, вот и не импортируется

  • @playt_pythonlearn
    @playt_pythonlearn 2 года назад

    3:12

  • @ney107-iz6xl
    @ney107-iz6xl 11 месяцев назад +1

    Спасибо за урок
    Собственно в чем разница между . Перед import и двумя точками
    И как вы там написали import.doc
    А там было две функции doc_java и doc_python можно не писать имя функции полностью если точка?
    Что значит точка?
    Заранее спасибо

  • @ХеллБой-я1щ
    @ХеллБой-я1щ 2 года назад +3

    Качественное объяснение
    Спасибо!

  • @ibrahimoglu
    @ibrahimoglu 3 года назад +3

    👍

  • @sergioramos4562
    @sergioramos4562 2 года назад +1

    Спасибо) для новичка сложновато, нужно пару раз пересмотреть

  • @ДмитрийКрашенинников-г7ш
    @ДмитрийКрашенинников-г7ш 8 месяцев назад +1

    Спасибо, Сергей. Очень помог!

  • @korvinAmbr
    @korvinAmbr 10 месяцев назад

    чувак ) спасибо!