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



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

ПРИМЕЧАНИЕ

Модули  также  можно  загружать  из  внешних  источников .  Соответствующие  примеры  встретятся 

вам в части II, в которой для завершения работы над проектами мы будем использовать внешние 

модули .


УПРАЖНЕНИЯ

9-13 .  Переработка  с  OrderedDict  Rewrite:  начните  с  упражнения  6-4  (с .  113),  в  котором 

стандартный словарь используется для представления глоссария . Перепишите программу 

с  использованием  класса  OrderedDict  и  убедитесь  в  том,  что  порядок  вывода  совпадает 

с порядком добавления пар «ключ—значение» в словарь .

9-14 . Кубики: модуль random содержит функции для генерирования случайных чисел раз-

ными способами . Функция randint() возвращает целое число в заданном диапазоне . Следу-

ющий код возвращает число от 1 до 6:

from random import randint

x = randint(1, 6)

Создайте класс Die с одним атрибутом с именем sides, который содержит значение по умол-

чанию 6 . Напишите метод roll_die() для вывода случайного числа от 1 до количества сторон 

кубика . Создайте экземпляр, моделирующий 6-гранный кубик, и имитируйте 10 бросков .

Создайте модели 10- и 20-гранного кубика . Имитируйте 10 бросков каждого кубика .

9-15 . Модуль недели: для знакомства со стандартной библиотекой Python отлично подой-

дет сайт Python Module of the Week . Откройте сайт http://pymotw .com/ и просмотрите оглав-

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

изучите документацию по модулям collections и random .




184    Глава 9  •  Классы

Оформление классов

В стилевом оформлении классов есть несколько моментов, о которых стоит упо-

мянуть отдельно, особенно с усложнением ваших программ.

Имена классов должны записываться в «верблюжьей» схеме: первая буква каждого 

слова записывается в верхнем регистре, слова не разделяются пробелами. Имена 

экземпляров и модулей записываются в нижнем регистре с разделением слов сим-

волами подчеркивания.

Каждый класс должен иметь строку документации, следующую сразу же за опреде-

лением класса. Строка документации должна содержать краткое описание того, что 

делает класс, и в ней должны соблюдаться те же соглашения по форматированию, 

которые вы использовали при написании строк документации в функциях. Каждый 

модуль также должен содержать строку документации с описанием возможных 

применений классов в модуле.

Пустые строки могут использоваться для структурирования кода, но злоупотреб-

лять ими не стоит. В классах можно разделять методы одной пустой строкой

а в модулях для разделения классов можно использовать две пустые строки.

Если вам потребуется импортировать модуль из стандартной библиотеки и модуль 

из библиотеки, написанной вами, начните с команды 

import


 для модуля стандарт-

ной библиотеки. Затем добавьте пустую строку и команду 

import

 для модуля, 



написанного вами. В программах с несколькими командами 

import


 выполнение 

этого соглашения поможет понять, откуда берутся разные модули, использованные 

в программе.

Итоги


В этой главе вы узнали, как написать собственные классы. Вы научились хра-

нить информацию в классе с использованием атрибутов и наделять свои классы 

нужным поведением. Вы узнали, как написать методы 

__init__()

 для создания 

экземпляров ваших классов с нужными значениями атрибутов и как изменять 

атрибуты экземпляров напрямую и через методы. Также было показано, что 

наследование может упростить создание логически связанных классов и что эк-

земпляры одного класса могут использоваться как атрибуты другого класса для 

упрощения кода классов.

Вы узнали, что хранение классов в модулях и импортирование необходимых 

классов в файлы, где они будут использоваться, улучшает организацию про-

ектов. Вы познакомились со стандартной библиотекой Python и рассмотрели 

пример, основанный на классе 

OrderedDict

 из модуля 

collections

. Наконец, вы 

научились оформлять свои классы с использованием общепринятых соглашений 

Python.


В главе 10 вы научитесь работать с файлами и сохранять результаты работы, вы-

полненной в программе. Также будут рассмотрены исключения — экземпляры 

специального класса Python, предназначенного для передачи информации о воз-

никающих ошибках.




10

Файлы и исключения

Вы уже овладели основными навыками, необходимыми для создания хорошо 

структурированных и удобных в использовании программ; теперь пора подумать 

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

вы научитесь работать с файлами, чтобы ваши программы могли быстро анализи-

ровать большие объемы данных.

В этой главе вы научитесь обрабатывать ошибки, чтобы возникновение аномальных 

ситуаций не приводило к аварийному завершению ваших программ. Мы рассмо-

трим исключения — специальные объекты, которые создаются для управления 

ошибками, возникающими во время выполнения программ Python. Также будет 

описан модуль 

json

, позволяющий сохранять пользовательские данные, чтобы они 



не терялись при завершении работы программы.

Работа с файлами и сохранение данных упрощают использование ваших программ. 

Пользователь сам выбирает, какие данные и когда нужно вводить. Он может за-

пустить вашу программу, выполнить некоторую работу, потом закрыть программу 

и позднее продолжить работу с того момента, на котором он прервался. Умение об-

рабатывать исключения поможет справиться с такими ситуациями, как отсутствие 

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

Обработка исключений повысит устойчивость ваших программ при работе с не-

корректными данными — появившимися как из-за случайных ошибок, так и из-за 

злонамеренных попыток взлома ваших программ. Материал, представленный 

в этой главе, сделает ваши программы более практичными, удобными и надежными.

Чтение из файла

Гигантские объемы данных доступны в текстовых файлах. В них могут храниться 

погодные данные, социально-экономическая информация, литературные произ-

ведения и многое другое. Чтение из файла особенно актуально для приложений, 

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

ситуации, требующей анализа или изменения информации, хранящейся в фай-

ле. Например, программа может читать содержимое текстового файла и пере-

писывать его с форматированием, рассчитанным на отображение информации 

в браузере.

Работа с информацией в текстовом файле начинается с чтения данных в память. 

Вы можете прочитать все содержимое файла или же читать данные по строкам.




186    Глава 10  •  Файлы и исключения

Чтение всего файла

Для начала нам понадобится файл с несколькими строками текста. Пусть это будет 

файл с числом «пи» с точностью до 30 знаков, по 10 знаков на строку:





Достарыңызбен бөлісу:
1   ...   93   94   95   96   97   98   99   100   ...   238




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

    Басты бет