Еще одна версия в память о былых временах

eshhe odna versiya v pamyat o bylyh vremenah Графические интерфейсы пользователя

Наконец, если вы склонны к минимализму и испытываете ностальгию по старому стилю программирования на языке Python, сценарий «Hello World» можно записать, как показано в примере 7.9.

Пример 7.9. PP4E\Gui\Intro\gui1-old.py — использование словаря

from tkinter import *

Label(None, {‘text’: ‘Hello GUI world!’, Pack: {‘side’: ‘top’}}).mainloop()

В этом примере для создания окна хватило двух строк, хотя выглядит он ужасно! Эта схема основана на старом стиле программирования, широко использовавшемся до выхода версии Python 1.3, когда параметры настройки передавались не как именованные аргументы, а в виде словаря.[XXIX] В этой схеме параметры менеджера компоновки могут передаваться как значения по ключу Pack (имя класса в модуле tkinter).

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

С другой стороны, теперь можно использовать синтаксическую конструкцию func(*pargs, **kargs), которая также позволяет передать явный словарь именованных аргументов в третьей позиции:

options = {‘text’: ‘Hello GUI world!’} layout = {‘side’: ‘top’}

Label(None, **options).pack(**layout) # ключи должны быть строками

Даже в динамических сценариях, где параметры виджетов определяются во время выполнения, нет веских причин использовать формат вызова со словарем, который использовался с версиями, предшествовавшими tkinter 1.3.

Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, I том, 2011

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