Я прохожу онлайн-курс по 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 Я просто импортирую весь пакет и получаю доступ к модулям, как я пытался выше, вместо того, как это делает онлайн-лекция? Я думал, что это будет то же самое. Я просто изо всех сил пытаюсь понять логику.