Главная » Просмотр файлов » Саммерфилд - Программирование на Python 3

Саммерфилд - Программирование на Python 3 (1077331), страница 130

Файл №1077331 Саммерфилд - Программирование на Python 3 (Саммерфилд - Программирование на Python 3) 130 страницаСаммерфилд - Программирование на Python 3 (1077331) страница 1302018-01-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 130)

Он передает фокус ввода родительскому окну и уничтожает диалог. В данном случае слово «уничтожит«означает, что будут уничтожены только само окно и все виджеты, содержащиеся в нем, сам же экземпляр класса АсСЕС11Есга продолжит свое существование, так как вызывающая программа по-прежнему имеет ссылку на него.

После закрытия диалога вызывающая программа проверит значение переменной зссертес и, если оно равно Тгсе, извлечет имя и адрес ПВЬ, которые были добавлены или отредактированы. Затем, как только поток выполнения покинет метод Ма(сй(соси. ес11АСС() или Мз1сй(пберн, есЫЕС11(), объект АЗСЕС(тбсга выйдет из области видимости и будет запланирован для утилизации механизмом сборки мусора. В заключение В этой главе вы получили некоторое представление о программировании графического интерфейса с использованием библиотеки Тх. Основное преимущество библиотеки ТЫ заключается в том, что она входит в комплект поставки Ру1Ьоп как стандартный компонент. Но она имеет множество недостатков, из которых не самый последний заключается в том, что эта старинная библиотека работает несколько иначе, чем большинство более современных альтернатив.

Если вы плохо знакомы с принципами программирования графического интерфейса, запомните, что основными кросс-платформенными альтернативами библиотеке Тх являются библиотеки РуОТК, РуЯ1 и ихРу1поп, намного более простые в освоении и использовании, причем все они позволяют добиться лучших результатов при меньшем объеме программного кода. Более того, для всех этих альтернатив библиотеке Тх имеется и более качественная документация, учитывающая специфику языка Ру$поп, они содержат намного больше виджетов с более привлекательным внешним видом и позволяют создавать собственные виджеты с нуля, обеспечивая возможность целиком и полностью контролировать их внешний вид и поведение.

Несмотря на то, что библиотеку Т)с удобно использовать при создании очень маленьких программ или когда в распоряжении программиста имеется только стандартная библиотека Ру1поп, тем не менее во всех остальных случаях любая из кросс-платформенных библиотек будет лучшим выбором. Упражнения Для выполнения первого упражнения необходимо будет скопировать и модифицировать программу ВоойпагЫэ, которая была продемонстрирована в этой главе. Во втором упражнении будет предложено создать программу с графическим интерфейсом с самого начала. Упражнения 581 Вам потребуется ознакомиться с документацией к модулю ге, так как программа должна вести себя корректно как при вводе регулярных выражений, содержащих ошибки, так и при выполнении итераций по группам, так как в большинстве случаев в регулярных выражениях количество сохраняющих групп меньше, чем меток, предусмотренных для отображения их содержимого.

Обеспечьте в программе полную поддержку клавиатуры, включая переход в виджеты ввода текста с использованием комбинаций Ай+А и Ай+Т, управление флажками с использованием комбинаций Ац+1 и Ай+О, завершение программы с использованием комбинаций Пг!+О и Еяс и пересчет результатов при нажатии и отпускании клавиш в любом из виджетов ввода текста, а также при изменении состояния любого из флажков. Программа не очень сложная, хотя над программным кодом, отображающим совпадения и номера групп (и имена, там где они указаны), придется немного поломать голову. Решение приводится в файле геях-И.ру, содержащем примерно сто сорок строк программного кода.

Эпилог Если вы прочитали хотя бы первые шесть глав и либо выполнили упражнения, либо написали несколько своих собственных программ на языке РуФЬоп 3, вы уже обладаете неплохим фундаментом, на основе которого сможете расширять свой дальнейший опыт и навыки в соответствии со своими потребностями — РуСЬоп не будет сковывать ваше продвижение! Для углубления знаний и улучшения навыков программирования на языке РуФЬоп, если вы прочитали только первые шесть глав, вам обязательно нужно ознакомиться с материалом главы 7 и прочитать хотя бы часть главы 8 — в частности, раздел, где описываются менеджеры контекста и инструкция з(г'э.

Стоит иметь в виду, что процесс разработки с чистого листа не дает ничего, кроме чувства гордости и расширения знаний, так как необходимость в этом при использовании языка РуФЬоп возникает крайне редко. Мы уже упоминали стандартную библиотеку и каталог пакетов РуФЬоп Расйаде1пбех, рурьруМоп.огк/рурй содержащих огромный объем функциональных возможностей.

Кроме того, значительное число советов, подсказок и идей предлагается в справочнике рецептов «РуСЬоп СооЬЬоой» по адресу со«(е.ас1шев~а1е.сот/гес«реэ/(апаз/руМоп/, хотя на момент написания этой книги он был ориентирован на использование РуФЬоп 2. Помимо всего прочего, существует возможность создавать модули для языка Ру$Ьоп на других языках программирования (на любых, которые могут экспортировать функции С, что доступно во многих языках). Эти модули могут разрабатываться для совместной работы с языком РуФЬоп посредством С АР1 языка РуФЬоп. С помощью модуля сгу сез иэ программного кода на языке РуФЬоп можно получить доступ к функциональным возможностям, заключенным в библиотеках совместного использования (библиотеки ШЛ в ЪЧп«(оюэ), наших собственных или полученных от сторонних разработчиков, что дает нам практически неограниченный доступ к огромному количеству функциональных возможностей, которые можно получить в Интернете благодаря умениям и великодушию программистов, создающих свободные программные продукты.

ЭпилОГ 583 Если у вас появится желание поучаствовать в жизни сообщества Ру- ФЬоп, можно начать с сайта шшш руМоп.огц/сот тип ГГу, где вы найдете массу справочных материалов и списки рассылки по интересам. Алфавитный указатель Специальные символы (ф(оператордекоратора), 289 (символ подчеркивания), 70 != (оператор неравенства), 284, 440 % (оператор деления по модулю/остаток отделения), 74 й (оператор битовое И), 76, 147, 155 й= (инструкция присваивания, комбинированная с операцией битовое И), 147 Ц (оператор индексирования, доступа к элементам последовательности, извлечения среза), 89, 131, 132, 136, 139, 140, 307, 315, 344 * (онератор умножения, дублирования строк, распаковки последовательностей, в инструкции ггош ...

ппрогС), 74, 131, 133, 136, 164, 231, 493 ** (оператор возведения в степень, распаковки отображений), 74, 211 *= (инструкция присваивания, комбинированная с оператором умножения), 131, 136 + (оператор сложения, конкатенации), 74, 131, 136, 164 += (инструкция присваивания, комбинированная с оператором сложения, оператор расширения), 131, 136, 171 ° (оператор вычитания, отрицания), 74, 147 ! = (инструкция присваивания, комбинированная с операцией битовое ИСКЛЮЧАЮЩЕЕ ИЛИ), 148 -= (инструкция присваивания, комбинированная с операцией вычитания), 147 / (оператор деления), 74 // (оператор целочисленного деления с усечением дробной части), 74 < (оператор <меньше чем«), 172, 440 « (оператор «сдвиг влево«), 76 <- (оператор «меньше или равное), 147, 440 =(операторсвязыванияимени, создания ссылки на объект и присваивания), 30, 173 -= (оператор равенства), 284, 440 "(битовый оператор ИСКЛЮЧАЮЩЕЕ ИЛИ), 76, 148 ) (битовый оператор ИЛИ).

148 - (битовый оператор НЕ), 76 > (оператор <больше чем«), 440 >- (оператор <больше или равно«), 147, 440 » (оператор «сдвиг вправо«), 76 аЬс, модуль, 268 АВСМеСа, тип данных, 441, 445 аЬзСгасСшеСЬобп, функция, 445 аЬзСгасСргорегСу(), функция, 445 АВСМе(а, тип данных (модуль аЬс), 441, 445 аЬэ И, специальный метод, 296 аЬзСь функция (встроенная), 73, 74, 171, 182 аЬзраСЬО, функция (модуль оз.раСЬ), 261 аЬз(гасС<пеСЬойо, функция (модуль аЬс), 445 аЬз(гас(ргорег(уСь функция (модуль аЬс), 445 АЬз(гасс.ру, пример, 447 ассеззСЬ функция (модуль оз), 260 асозСЬ функция (модулыпаСЦ, 79 асозЬСЬ функция (модулыпаСЬ), 79 а<ЫСь метод зеС, тип данных, 147 аИ Сь специальный метод, 296, 303 аЧс, модуль, 256 а!1СЬ функция (встроенная), 164, 458, 459 а11, атрибут, 231, 236, 237 586 Алфавитный указатель ехрапй(аЬво,метод, 345 1!псЦ),метод, 345 !гошЬехО, метод, 344, 345 1пйехо, метод, 345 1ва!пшпо, метод, 346 1ва!рЬао, метод, 346 1вй!8!СО, метод, 346 1в!снего, метод, 346 1вврасео, метод, 346 1в1111ео, метод, 346 1впррего,метод, 346 )о)пО, метод, 346 Цив(0, метод, 346 !он его, метод, 346 рагС!С!опо, метод, 346 гер!асе(), метод, 344, 347 вр!1СО, метод, 347 вр!!С!!пево, метод, 347 всагсви1СЬ(), метод, 347 вСг!ро, метод, 347 виарсавео, метод, 347 111!во, метод, 347 Сгапв!а(еО, метод, 347 пррего,метод, 344, 347 х(!!!О, метод, 347 литерал, 258 методы, таблица, 345 Ьз2, модуль, 256, 258 .Ьв2, расширение файлов, 256 -С, параметр интерпретатора, 233 са1св!ве(), функция, (модуль в(гпсС), 350 са!епйаг, модуль, 253 са1! и, специальный метод, 426 са!1О, функция (модуль впЬргосевв), 245 са!1, атрибут, 316, 407, 453 Са!1аЫе, абстрактный базовый класс (модуль со11есСюпв), 443 сар11а!!хео, метод Ьутеаггау, тип данных, 345 Ьу(ев, тип данных, 345 вСг, тип данных, 93 саг геб!в(га11оп.ру, пример, 490 свг ге31всга11оп вегчег.ру, пример, 497 сасебогуо, функция (модуль пп1сойейаСа), 419 се110, функция (модулыпаСЬ), 80 сел!его,метод Ьу(еаггау, тип данных, 345 Ьусев, тип данных, 345 всг, тип данных, 93 С01 (Сопппоп Оа(епау 1псег1асе — общий шлюзовой интерфейс), 263 с31, модуль, 263 сб!СЬ, модуль, 263 сЬа1п(), функция (модуль 11егСоо!в), 460 СЬагог1й.ру, пример, 243 сй! !Г(, функция (модуль ов), 260 сЬес)с(абв.ру, пример, 199 сЬо1сеО, функция (модуль гапйош), 168 сЬго, функция (встроенная), 87, 112, 545 с1авв, атрибут, 295, 425 с1авв,инструкция, 280, 286, 438 9с!аввшеСЬойО, функция (встроенная), 301, 323 с!вввшеСЬойо, функция (встроенная), 432 с!ваго, метод й1сС, тип данных, 154 веС, тип данных, 147 с!овеО, метод объект курсора, 515 объект соединения, 514 объект файла, 158, 197, 380 с1овей, атрибут объект файла, 380 сшаСЬ, модуль, 82, 252 со!1есйопв, модуль, 254, 444 Са!!аЫе, абстрактный базовый класс, 443 Сопсшпег, абстрактный базовый класс, 443 йе(ап!Сй!сС, тип данных, 162, 181, 216, 479 йецпе, тип данных, 254, 443 НавЬаЫе, абстрактный базовый класс, 443 11егаЫе, абстрактный базовый класс, 443 Вега(ог, абстрактный базовый класс, 443 Марр!пб„абстрактный базовый класс, 443 МпсаЫеМарр!пя АР1, 314 Мп(аЫеМарр! пб, абстрактный базовый класс, 443 МптаЫеЯесспепсе АР1, 314 МптаЫеЯес)пепсе, абстрактный базовый класс, 443 МпсаЫеБеС, абстрактный базовый класс, 443 петлей(пр!е, тип данных, 134, 274 Яес!пенсе, абстрактный базовый класс, 443 Бес, абстрактный базовый класс, 443 81вей, абстрактный базовый класс, 443 классы (таблица), 443 сопппМ(), метод (объект соединения), 514 990 Алфавитный указатель бгопр1пбех, атрибут (объект регулярного выражения), 540 бгопрв0, метод (объект совпадения), 541 аС 0(>), специальный метод, 283 .бз, расширение, 256 бз1р, модуль, 256 ореп0, функция, 266, 341 Н Ьава((г0, функция (встроенная), 316, 406, 407, 453 ЬввЬ (), специальный метод, 294, 303 ЬввЦ), функция (встроенная), 284, 294 НавЬаЫе, абстрактный базовый класс (модуль со11ес(юпв), 443 Ьеарц, модуль, 254 Ье!р(), функция (встроенная), 78, 204 Ьех0, функция (встроенная), 75 Ып112(ех(.ру, пример, 543 Ы|п1.епС!С!ев, модуль, 545 Ыш1.рагвег, модуль, 264 ЫСр, пакет, 263 ЫСр.сйепС, модуль, 263 ЫСр.сооМе)аг, модуль, 263 ЬССр.сооМев, модуль, 263 ЬССр.вегчег, модуль, 263 ЬуроС0, функция (модулыпаСЬ), 80 1асЫ О, специальный метод, 296, 303 1апг) (), специальный метод, 296, 302 иК), функция (встроенная), 298 11П Е, среда разработки, 26 И, инструкция, 189 1ПоопИч (), специальный метод, 296 1!вЫ(С О, специальный метод, 296 !шабе.ру, пример, 306 1МАР4 (1п(егпеС Меввабе Асееве Рго(осо! — протокол интерактивного доступа к электронной почте), 264 1тар!!Ь, модуль, 264 !пюб (), специальный метод, 296 ппрогС О, функция (встроенная), 406, 407 !шрогС, инструкция, 230, 405 1шрогСЕггог, исключение, 233, 258 !шп! О, специальный метод, 296 !и (оператор проверки на вхождение), 136, 144, 155, 164, 310, 320 1пбеп(айопЕггог, исключение, 86 1пбеп(ебЬ!в(.ру, пример, 410 !пдехО, метод Ьу(еаггау, тип данных, 345 Ьу(ев, тип данных, 345 !1вС, тип данных, 136, 142 з(г, тип данных, 93, 96 Спр1е, тип данных, 131 !пт)ех О, специальный метод, 296 1пбехЕггог, исключение, 89, 247, 319 Лп(, расширение, 256 1п!С (), специальный метод, 282, 286, 294, 315, 322 1п1С .ру, файл пакета, 235, 236, 237 1прпЦ), функция (встроенная), 49, 117 1пвег(0,метод Ьу(еаггау, тип данных, 344„345 !1вС, тип данных, 136, 140 1пвегС, инструкция ЗЯЬ, 517 1пвресС, модуль, 267, 420 1пС (), специальный метод, 296, 297, 302 СпС0, функция(встроенная), 75, 78, 163, 360 1пС, тип данных, 73, 442 битовые операторы (таблица), 76 1Ыебга), абстрактный базовый класс (модуль ппшЬегв), 442 !п(егев(-0г-руи, пример, 556 (п(егвес(1оп0, метод 1говепвеС, тип данных, 150 веС, тип данных, 147 1п(егвес(1оп прт!а(е0,метод веС, тип данных, 147 1пСЧаг, тип данных (модуль 0г!п(ег), 558 1пчегС (), специальный метод, 296, 302 1о, модуль 10Ваве, абстрактный базовый класс, 442 ЯСгбп310, тип данных, 249, 266 10Еггог, исключение, 197 !о.10Ваве, абстрактный базовый класс модуль 1о, 442 юг (), специальный метод(!), 294, 296 НРУ(1п(егпеС Рго(осо1 — протокол Интернета), 263 1Р-адрес, 488, 490, 496 1ротч (), специальный метод, 296 !гвЬ11С О, специальный метод, 296 (в, оператор идентичности, 36, 298 1ва!пшп(), метод Ьу(еаггау, тип данных, 346 Ьу(ев, тип данных, 346 в(г, тип данных, 94 1ва1рЬа0, метод Ьу(еаггау, тип данных, 346 Ьу(ев, тип данных, 346 в(г, тип данных, 94, 97 $92 Алфавитный указатель дублирование (*, *-), 136 извлечениесрезов, 136, 141 изменение, 139 сравнивание, 135 ?лзСЬох, тип данных (модуль Срйпсег), 567, 575 1!в!6)гЦ, функция (модуль оз), 160, 260 1)пвСО, метод Ьу(еаггау, тип данных, 346 Ьу(ев, тип данных, 346 в(г, тип данных, 94 1оаб(), функция (модуль р1сИе), 313.

Характеристики

Тип файла
DJVU-файл
Размер
6,88 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее