Найти - Пользователи
Полная версия: Пакеты в python
Начало » Python для новичков » Пакеты в python
1
anonymouss
Могу ли я использовать пакеты, для того чтобы структурировать схожие классы (как пакеты в java), или они предназначены для чего-то другого?
doza_and
anonymouss
для того чтобы структурировать схожие классы (как пакеты в java)
Насколько я знаю в Java пакеты не позволяют “структурировать схожие классы”. Даже затрудняюсь предположить что вы имеете ввиду.

Согласно википедии (пакет Java) — механизм, позволяющий организовать Java классы в пространстве имен. Классы вроде как не меняются от того что вы их поместите в пакет.

Пакеты java и питона несколько различаются, например питон не накладывает ограничений на имена модулей и имена пакетов. Пакеты питона могут использоваться для разнесения кода в разные пространства имен.
py.user.next
anonymouss
Могу ли я использовать пакеты, для того чтобы структурировать схожие классы (как пакеты в java), или они предназначены для чего-то другого?
У тебя есть модуль - один файл питона с расширением .py. В модуль помещаются классы, относящиеся к чему-то одному. А вот сами модули уже можно объединять в пакеты. Для этого они просто кладутся в одну папку и в неё добавляется пустой файл __init__.py, после чего эта папка становится пакетом, который можно импортировать.

Вот если в третьем питоне зайдёшь в папку urllib, то увидишь там внутреннее устройство, потому что urllib - это пакет модулей.

При составлении модуля ты должен спрашивать “что делает этот модуль?”.
При составлении пакета ты должен спрашивать “что делает этот пакет?”.
Если ответ точный и единственный, то модуль или пакет спроектирован правильно.
Если же начинается “он делает и то, и это, и пятое, и десятое”, то надо его разделить.
anonymouss
doza_and
Даже затрудняюсь предположить что вы имеете ввиду.
Я имеею ввиду, что при помощи пакетов классы групируют по тому, что они делают. Например в пакете java.io находятся классы отвечающие за ввод-вывод, в android.widget классы для работы с виджетами и т.д. Т.е файлы с кодом, не кладуд в одну папку, а структурируют по пакетам.
doza_and
Да вы правильно понимаете. Я просто пока не очень понимаю ваш стиь написания сообщений.
Вот вы пишете:
anonymouss
файлы с кодом, не кладуд в одну папку, а структурируют по пакетам.

Но по сути “структуировть модули в пакет” это и есть положить модули в одну папку. Вы это понимаете?



ZerG
Никого не хочу обидеть - но помоему ТС такой же джава программист как и на питоне…

Любая импортируемая библиотека что на джаве что на питоне что на СИ это уже есть набор структурированных модулей содержащая в себе как правило все необходимое для выполнения требуемого от нее функционала.

anonymouss
ZerG
такой же джава программист как и на питоне…
Я и не являюсь программистом.
doza_and
Вы это понимаете?
Да
ZerG
ТОгда простите зачем вы задавали данный вопрос? Какую цель преследовали?
Что почерпнули?
anonymouss
ZerG
ТОгда простите зачем вы задавали данный вопрос? Какую цель преследовали? Что почерпнули?
Учусь программировать.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB