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



Pdf көрінісі
бет96/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   92   93   94   95   96   97   98   99   ...   238
Байланысты:
2 5343781172763690906

УПРАЖНЕНИЯ

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   ...   92   93   94   95   96   97   98   99   ...   238




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

    Басты бет