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



Pdf көрінісі
бет118/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   114   115   116   117   118   119   120   121   ...   238
Байланысты:
2 5343781172763690906

УПРАЖНЕНИЯ

11-3 .  Работник:  напишите  класс  Employee,  представляющий  работника .  Метод  __init__() 

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

в атрибутах . Напишите метод give_raise(), который по умолчанию увеличивает ежегодный 

оклад на $5000 — но при этом может получать другую величину прибавки .

Напишите  тестовый  сценарий  для  Employee .  Напишите  два  тестовых  метода,  test_give_

default_raise()  и  test_give_custom_raise() .  Используйте  метод  setUp(),  чтобы  вам  не  при-

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

тестовый сценарий и убедитесь в том, что оба теста прошли успешно .

Итоги


В этой главе вы научились писать тесты для функций и классов с использованием 

средств модуля 

unittest

. Вы узнали, как написать класс, наследующий от 

unittest.

TestCase


, и как писать тестовые методы для проверки конкретных аспектов пове-

дения ваших функций и классов. Вы научились использовать метод 

setUp()

 для 


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

во всех методах для тестирования класса.

Тестирование — важная тема, на которую многие новички не обращают вни-

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

для простых проектов не нужно. Но как только вы начинаете работать над про-

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

обеспечьте тестирование критических аспектов поведения ваших функций 

и классов. С эффективными тестами вы можете быть уверены в том, что измене-

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

усовершенствования кода. Случайно нарушив существующую функциональность, 

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

Отреагировать на сбой теста всегда намного проще, чем на отчет об ошибке от не-

довольного пользователя.

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

вы включите в них исходные тесты. Они будут чувствовать себя более  комфортно, 



Итоги    223

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

стию в ваших проектах. Если вы будете участвовать в проекте, над которым работа-

ют другие программисты, вам придется продемонстрировать, что ваш код проходит 

существующие тесты; кроме того, от вас будут ждать, что вы напишете тесты для 

нового поведения, добавленного вами в проект.

Поэкспериментируйте с тестами и освойтесь с процессом тестирования кода. 

 Пишите тесты для критических аспектов поведения ваших функций и классов, 

но не стремитесь к полному тестовому покрытию своих ранних проектов (если 

у вас для этого нет особых причин).




Ч а с т ь  II

 . 


 

Проекты


Поздравляем! Вы знаете о Python достаточно для того, чтобы взяться за построение 

интерактивных, осмысленных проектов . Создание собственных проектов закрепит новые 

навыки и упрочит ваше понимание концепций, представленных в части I .

В части II представлены три типа проектов; вы можете взяться за любые из них в том 

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

проекта, чтобы вам было проще решить, с чего начать .

Программирование игры на языке Python

В проекте Alien Invasion (главы 12, 13 и 14) мы воспользуемся пакетом Pygame 

для написания 2D-игры, в которой игрок должен сбивать корабли пришельцев, 

падающие по экрану с нарастающей скоростью и сложностью. К концу этого про-

екта вы будете знать достаточно для того, чтобы создавать собственные 2D-игры 

с использованием Pygame.

Визуализация данных

Проект Data Visualization начинается с главы 15. В этом проекте вы научитесь 

генерировать данные и создавать практичные, элегантные визуализации этих 

данных с использованием пакетов matplotlib и Pygal. Глава 16 научит вас работать 

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

строения графиков погодных данных и карты с населением мира. Наконец, глава 17 

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

данных. Навыки визуализации пригодятся вам в изучении области анализа дан-

ных — в современном мире это умение ценится очень высоко.

Веб-приложения

В проекте Web Applications (главы 18, 19 и 20) мы при помощи пакета Django соз-

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

Пользователь создает учетную запись с именем и паролем, вводит тему и делает 

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

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

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

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

ресурсов, посвященных построению приложений с использованием Django.




Проект I

 .

  



Инопланетное вторжение


12

Стреляющий корабль

Давайте создадим собственную игру! Мы воспользуемся Pygame — подборкой ин-

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

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

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

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

невой логике игровой динамики.

В этой главе мы настроим Pygame и создадим корабль, который движется вле-

во и вправо и стреляет по приказу пользователя. В следующих двух главах вы 

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

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

таблицы рекордов.

Эта глава также научит вас управлять большими проектами, состоящими из многих 

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

мого файлов, чтобы проект был четко организован, а код оставался эффективным.

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

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

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

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

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

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





Достарыңызбен бөлісу:
1   ...   114   115   116   117   118   119   120   121   ...   238




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

    Басты бет