Книга «Изучаем Python»



Pdf көрінісі
бет111/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   107   108   109   110   111   112   113   114   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )


Глава 9 • Классы
Выработка рабочего процесса
Как видите, Python предоставляет много возможностей структурирования кода 
в крупных проектах. Вы должны знать все эти возможности, чтобы найти лучшие 
способы организации своих проектов, а также лучше понимать код других раз-
работчиков.
На первых порах постарайтесь поддерживать простую структуру своего кода. По-
пробуйте разместить весь код в одном файле и, только когда все заработает, переме-
стите классы в отдельные модули. Если вам нравится схема взаимодействия между 
модулями и файлами, попробуйте сохранить классы в модулях в начале работы над 
проектом. Найдите подход, при котором у вас получается работоспособный код, 
и двигайтесь дальше.
УПРАЖНЕНИЯ
9-10 . Импортирование класса Restaurant: возьмите последнюю версию класса Restaurant 
и сохраните ее в модуле . Создайте отдельный файл, импортирующий класс Restaurant . 
Создайте экземпляр Restaurant и вызовите один из методов Restaurant, чтобы показать, что 
команда import работает правильно .
9-11 . Импортирование класса Admin: начните с версии класса из упражнения 9-8 (с . 176) . 
Сохраните классы User, Privileges и Admin в одном модуле . Создайте отдельный файл, соз-
дайте экземпляр Admin и вызовите метод show_privileges(), чтобы показать, что все рабо-
тает правильно .
9-12 . Множественные модули: сохраните класс User в одном модуле, а классы Privileges 
и Admin в другом модуле . В отдельном файле создайте экземпляр Admin и вызовите метод 
show_privileges(), чтобы показать, что все работает правильно .
Стандартная библиотека Python
Стандартная библиотека Python представляет собой набор модулей, включаемых 
в каждую установленную копию Python. Сейчас вы уже примерно понимаете, как 
работают классы, и можете начать использовать модули, написанные другими 
программистами. Чтобы использовать любую функцию или класс из стандартной 
библиотеки, достаточно включить простую команду 
import
в начало файла. Для 
примера рассмотрим класс 
OrderedDict
из модуля 
collections
.
Как вы уже знаете, словари позволяют связывать информационные фрагменты, но 
они не отслеживают порядок добавления пар «ключ—значение». Если вы хотите 
создать словарь, но при этом сохранить порядок добавления пар «ключ—значение», 
воспользуйтесь классом 
OrderedDict
из модуля 
collections
. Экземпляры класса 
OrderedDict
ведут себя практически так же, как и словари, если не считать того, что 
они отслеживают порядок добавления пар «ключ—значение».
Вернемся к примеру 
favorite_languages .py
из главы 6. На этот раз программа будет 
отслеживать порядок, в котором участники отвечают на опрос:
favorite_languages.py
 
from collections import OrderedDict
 
favorite_languages = OrderedDict()


Стандартная библиотека Python
183
 
favorite_languages['jen'] = 'python'
favorite_languages['sarah'] = 'c'
favorite_languages['edward'] = 'ruby'
favorite_languages['phil'] = 'python'
 
for name, language in favorite_languages.items():
print(name.title() + "'s favorite language is " +
language.title() + ".")
Сначала программа импортирует класс 
OrderedDict
из модуля 
collections
в точ-
ке 

. В точке 

создается экземпляр класса 
OrderedDict
, который сохраняется 
в 
favorite_languages
. Обратите внимание на отсутствие фигурных скобок; вызов 
OrderedDict()
создает пустой упорядоченный словарь и сохраняет его в 
favorite_
languages
. Затем пары из имени и языка последовательно добавляются в словарь 


Теперь при переборе 
favorite_languages
в точке 

данные всегда будут выдаваться 
в порядке их добавления:
Jen's favorite language is Python. 
Sarah's favorite language is C. 
Edward's favorite language is Ruby. 
Phil's favorite language is Python.
Это чрезвычайно полезный класс, объединяющий основное преимущество списков 
(сохранение исходного порядка) с главной особенностью словарей (связывание 
двух видов информации). Когда вы займетесь моделированием реальных ситуаций, 
может возникнуть ситуация, в которой упорядоченный словарь окажется именно 
тем, что вам необходимо. А по мере изучения стандартной библиотеки вы узнаете 
о других полезных модулях, которые помогут вам в решении типичных задач.


Достарыңызбен бөлісу:
1   ...   107   108   109   110   111   112   113   114   ...   266




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет