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

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

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

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

Пример решения приводится в файле Яворе опару, аналогичное решение также приводится в файле 3)«ареАЫ апз.ру. Измените класс в файле Ггпауеру так, чтобы в нем появился метод Сев!се(н!ОСЬ, Ьетрпт). Если новая ширина нли высота меньше текущего значения, все цвета, оказавшиеся за пределами новых границ изображения, должны удаляться. Если в качестве нового значения ширины или высоты передается Иоле, соответствующее значение ширины или высоты должно оставаться без изменений. Наконец, не забудьте воссоздавать множество ае11. со1огв.

Возвращаемое логическое значение должно свидетельствовать о том, были ли произведены изменения размеров или нет. Всю реализацию метода можно уместить в 20 строк (в 35, включая строку документирования и простейший доктест). Пример решения приводится в файле Гглауе апз.ру. Создайте класс Тгапвасссоп, который хранит сумму, дату, валюту (по умолчанию «1)Я()» — доллар США), курс валюты по отношению к доллару (по умолчанию 1) и описание (по умолчанию Ноле). Все атрибуты данных должны быть частными. Реализуйте следующие свойства, доступные только для чтения: авоипс, пасе, спггепсу, Рас сопчегзсоп гасе, ьеасг1рс!оп и Рва (вычисллется, как авоппс * пас) сопче ге!оп гаСе).

Реализацию класса можно уместить в шестьдесят строк программного кода, включая несколько простейших док- 2. 3. Первые два упражнения связаны с модификацией классов, о которых рассказывалось в втой главе. Последние два упражнения связаны с созданием новых классов с самого начала. 1. Измените класс РоспС (из модуля Иваре. Ру или Зпарей1С. Ру) так, чтобы обеспечить поддержку следующих операций, где р, О и г являются объектами типа Роспс, а и — число.

Упражнения тестов. Пример решения (этого упражнения и следующего) приводится в файле Ассо и и Г р у. 4. Реализуйте класс Ассорпг, который хранил бы номер счета, название счета и список транзакций (объектов класса Тгапвас11сп). Номер счета должен быть реализован в виде свойства, доступного только для чтения. Название счета должно быть реализовано в виде свойства, доступного для чтения и для записи с проверкой длины названия, которое должно содержать не менее четырех символов. Класс должен поддерживать встроенную функцию 1еп() (возвращая число транзакций) и содержать два вычисляемых свойства, доступных только для чтения: эа1апсе, возвращающее баланс счета в долларах США, и а11 эва, возвращающее Тгре, если все транзакции выполнялись в долларах США, или Га1ве — в противном случае.

Добавьте три дополнительных метода: арр1у() для добавления транзакции, вате() и 1сас(). Методы вате() и 1аас() должны сохранять и загружать объекты в двоичном формате, в файле, имя которого совпадает с номером счета и с расширением .асс. Они должны сохранять и загружать номер счета, название счета и все транзакции. Реализацию класса можно уместить в девяносто строк программного кода вместе с несколькими простейшими доктестами, включающими проверку операций сохранения и загрузки с помощью такого программного кода, как паве = ов. ра(П.

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

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

В первых трех разделах главы рассматриваются общие случаи сохранения на диске и загрузки с диска целых коллекций данных. В первом разделе будет показано, как это можно реализовать с использованием двоичных форматов файлов, причем в первом подразделе описывается применение модуля р1сК1е (с возможным сжатием), а во втором разделе демонстрируется, как ту же работу можно выполнить вручную. Во втором разделе рассматриваются приемы работы с текстовыми файлами.

Запись информации в файлы выполняется очень просто, но обратное чтение может оказаться непростым делом, особенно, когда приходится иметь дело с не текстовыми данными, такими как числа и даты. Мы рассмотрим два подхода к синтаксическому разбору текста: вручную и с использованием регулярных выражений. Третий раздел рассказывает, как читать и писать файлы в формате ХМЕ. В этом разделе Запись и чтение двоичных данных 335 будет показано, как писать и читать такие файлы с применением деревьев элементов, объектной модели документа (Восшпеп'ь ОЬ)ест Мос(еЬ )ЗОМ), а также как выполнять запись вручную и анализировать файлы с использованием парсера БАХ (Рйшр!е АР1 1ог ХМЬ вЂ” упрощенный АР1 для работы с ХМ1 ).

Четвертый раздел демонстрирует, как можно организовать произвольный доступ к данным в двоичных файлах. Это удобно, когда все элементы данных имеют одинаковый размер и когда количество элементов в файле больше, чем нам требуется (или возможно) хранить в памяти. Какой формат файлов является более предпочтительным для хранения целых коллекций — двоичный, текстовый или ХМЬ? Как лучше работать с каждым из форматовт Ответы на эти вопросы слишком сильно зависят от конкретной ситуации, чтобы на них можно было дать единственный категоричный ответ, тем более что каждый формат имеет свои достоинства и недостатки, так же как и каждый из способов работы с ними. Мы рассмотрим каждый из них, чтобы вы могли принимать обоснованные решения в зависимости от ситуации. При использовании двоичных форматов обычно достигается очень высокая скорость сохранения и загрузки, а, кроме того, они могут быть очень компактными.

Двоичные данные не требуется анализировать, потому что каждый тип данных сохраняется в своем естественном представлении. Двоичные данные не могут читаться или редактироваться человеком, а без точного знания формата невозможно создать отдельные инструменты для работы с двоичными данными. Текстовые форматы легко могут читаться и редактироваться человеком, что упрощает их обработку отдельными инструментами или изменение с помощью текстового редактора. Парсинг текстовых форматов может оказаться далеко не простым делом, и не всегда просто бывает выдать сообщение об ошибке, если формат текстового файла нарушен (например, в результате небрежного редактирования).

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

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

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

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

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

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