Когда я импортирую пакет в моем скрипте Python, Python также импортирует подпакет? - PullRequest
1 голос
/ 13 октября 2019

Я прохожу онлайн-курс по Python и в настоящее время изучаю модули и пакеты, но не могу понять мою логику. Я использовал модули (или, может быть, они были пакетами, кто знает?) Ранее в текущей работе, но я не знал, что происходит, например, когда я буду делать import Pandas.

Следуя курсу, я создал папкуназывается «MyMainPackage», и в этой папке есть еще одна папка с именем MySubPackage.

В «MyMainPackage»:
init .py и my_main_script.py;в my_main_script.py есть функция с именем main_func()

в «MySubPackage»: init .py и my_sub_script.py;в my_sub_script.py есть функция с именем sub_func()

. В редакторе Sublime Text я написал скрипт с именем myprogram2.py:

import MyMainPackage
MyMainPackage.my_main_script.main_func()

Однако это не сработало;когда я вызываю python myprogram2.py в командной строке Windows, я получаю следующее сообщение

Attribute Error: module MyMainPackage has no attribute my_main_script

Однако, согласно онлайн-лекции, что работает так:

from MyMainPackage import my_main_script
from MyMainPackage.MySubPackage import my_sub_script

my_main_script.main_func()
my_sub_script.sub_func()

Почему можно 't Я просто импортирую весь пакет и получаю доступ к модулям, как я пытался выше, вместо того, как это делает онлайн-лекция? Я думал, что это будет то же самое. Я просто изо всех сил пытаюсь понять логику.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...