В чем разница между "импортировать пакет" и "импортировать пакет ..."? - PullRequest
1 голос
/ 26 апреля 2020

Почему некоторые пакеты, такие как Pandas, всегда импортируются как:

import <name of package> #e.g. import pandas as pd

В то время как другие пакеты "импортируются" как:

from <name of package> import <module> #e.g. from fredapi import Fred

Я понимаю, что когда вы хотите импортировать пакеты, которые имеют много модулей, вы можете импортировать нужный вам c модуль с помощью

from <name of package> import <module> #e.g. from fredapi import Fred

вместо импорта всего пакета и всех его модулей.

Мой вопрос больше о пакетах, которые могут быть импортированы только с:

from <name of package> import <module> #e.g. from fredapi import Fred

Это из-за структуры пакета? Это потому, что на самом деле это не пакет? Я запутываю себя в этом пункте. Надеюсь, что кто-то может пролить свет на это.

Конкретный пример: я никогда не смогу импортировать fredapi следующим образом:

import fredapi

Я могу использовать только fredapi с командой from.

from fredapi import Fred

1 Ответ

1 голос
/ 26 апреля 2020

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

Вы можете либо выбрать прочитать все сразу:

import bookshelf
# read bookshelf.book1, bookshelf.book2, until bookshelf.bookN

Или вы можете выбрать пару книг для чтения одновременно,

from bookshelf import book1, book5, bookN

в обоих случаях следует отметить, что вся книжная полка все еще занимает место в вашем кабинете, независимо от того, как вы go читаете книги. В мире python это означает, что независимо от того, импортируете ли вы весь пакет или просто импортируете несколько модулей в свое пространство имен, весь модуль должен быть импортирован и сохранен в памяти.

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