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



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

ПРИМЕЧАНИЕ
Модули также можно загружать из внешних источников . Соответствующие примеры встретятся 
вам в части 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

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




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

    Басты бет