PyCalc — графический интерфейс «настоящего» калькулятора

pycalc graficheskij interfejs nastoyashhego kalkulyatora Текст и язык

Конечно, настоящие калькуляторы не конструируют строки выражений и не вычисляют их целиком. Такой подход мало чем отличается от прославленной командной строки Python. Обычно выражения вычисляются по частям по мере ввода, и временные результаты отображаются сразу, как будут вычислены. Реализовать такое поведение немного труднее: выражения должны вычисляться вручную вместо однократного вызова функции eval. Но конечный результат становится значительно полезнее и интуитивнее.

В этом разделе представлена реализация PyCalc — программы Python/ tkinter, реализующей графический интерфейс такого традиционного калькулятора. Она имеет двоякое отношение к теме обработки текста и синтаксического анализа: анализирует и вычисляет выражения и реализует собственный язык, опирающийся на использование стека при вычислениях. Хотя логика ее вычислений сложнее, чем у простого калькулятора, представленного выше, тем не менее, она демонстрирует более развитую технологию программирования и служит эффектным финалом этой главы.

Урок 5: повторное использование — это сила

Несмотря на простоту, приемы встраивания и расширения графического интерфейса калькулятора, результаты которых показаны на рис. 19.3, иллюстрируют мощь Python как средства написания повторно используемого программного обеспечения. Благодаря возможности писать программы с применением модулей и классов отдельно написанные компоненты почти автоматически становятся универсальными инструментами. Особенности организации программ Python способствуют написанию повторно используемого программного кода.

Повторное использование программного кода является одним из главных достоинств языка Python и было одной из главных тем на всем протяжении этой книги. Для создания удачной объектно-ориентированной архитектуры нужны некоторый опыт и предусмотрительность, а выгоды, получаемые от повторного использования программного кода, могут стать очевидными не сразу. И иногда нам нужно быстро изменить реализацию, а не думать об использовании кода в будущем.

Но если писать программный код, подумывая иногда о его повторном использовании, то в долгосрочной перспективе можно сократить время разработки. Например, парсеры собственной разработки совместно использовали сканер, графический интерфейс калькулятора использует модуль widgets из главы 10, а в следующем разделе будет повторно использован класс GuiMixin из главы 10. Иногда можно выполнить часть работы, даже не начиная ее.

Использованная литература:

Марк Лутц — Программирование на Python, 4-е издание, II том, 2011

Каталог сайтов Всего.ру
Оцените статью
Секреты программирования
Добавить комментарий