Главная » Просмотр файлов » Лутц М. - Изучаем Python

Лутц М. - Изучаем Python (1077325), страница 168

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

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

Решения упражнений Часть 1. Введение Упражнения находятся в главе 3, в разделе вУпражнения к первой части». 1. Взаимодействие. Предположим, что настройка РуФ)>оп выполнена правильно, тогда сеанс взаимодействия с интерактивной оболочкой должен выглядеть примерно так, как показано ниже (вы можете запустить интерактивную оболочку любым способом, по своему усмотрению — в ПЭЬЕ, из системной командной строки и т. д.): % русьоп ...строки с информацией об авторских правах.

»> "Неыо Иог1й" 'НеПо Ног1а. '' »> Ф Длл вихода используйте Стг1-0 или Стг1-7, или закройте окно 2. Программы. Содержимое файла (то есть модуля) тос(и!в1.ру и сеанс взаимодействия с командной оболочкой операционной системы должны выглядеть, как показано ниже: рг1пт 'НеПа еосц1е иог1й ' % рук%оп еозо1е1.ру НеПо аопц1е иог1й Вы можете запустить этот файл любым другим способом — щелчком мыши на ярлыке файла, с помощью пункта меню Кип-ьйзп Иода(е (Запустить-+Запустить модуль) и т. д. 3. Модули, Следующий пример сеанса взаимодействия иллюстрирует запуск модуля при его импортировании: % руепоп »> 1ерогс еоец1е1 уву Решения упражнений Не11о вааа1е ногИ.' »> Не забывайте: чтобы запустить модуль еще раз в течение этого же сеанса работы в интерактивной оболочке, необходимо перезагрузить его.

Просьба переместить файл в другой каталог и снова импортировать его содержит одну хитрость: если интерпретатор Ру!)аоп создал в первоначальном каталоге файл тос(и1е).рус, при импорте он будет использовать этот файл, даже если файл с исходным программным кодом (.ру) будет перемещен в другой каталог, расположенный за пределами пути поиска модулей. Если интерпретатор имел доступ к файлу с исходным программным кодом, он автоматически создаст файл .рус, содержащий байт-код скомпилированной версии модуля.

Подробнее о модулях рассказывается в пятой части книги. 4. Сценарии. Предположим, что ваша платформа поддерживает интерпретацию комбинации символов з!, решение этого упражнения должно выглядеть примерно так, как показано ниже ( на вашем компьютере в строке р! может потребоваться указать другой путь): а)/авг/1оса1/ып/ругпоп (или а!/авг/ып/епу ру1поп) рггп1 'Неыо вааа1е ног1О' ' % ааааа +х воаа1е1, ру % вооа1е1. Ру Не11о воаа1е ногИ' б. Ошибки. Ниже показано, какие сообщения об ошибках будут получены по завершении этого упражнения.

В действительности вы вызываете исключения — по умолчанию при возникновении исключений интерпретатор завершает работу программы и выводит сообщение об ошибке вместе содержимым стека вызовов на экран. Информация из стека показывает, в каком месте программы произошло исключение. В седьмой части книги вы узнаете, как перехватывать исключения с помощью инструкции тгу и как обрабатывать их. Вы также увидите, что в состав Ру!Ьоп входит полноценный отладчик исходного программного кода, обладающий возможностями анализа ошибок после возникновения исключения. А пока обратите внимание, что в случае появления ошибок РуФоп выводит вполне информативные сообщения (вместо того чтобы просто аварийно завершать программу вообще без каких-либо сообщений): % аут%оп »> 1 / О тгасеоася (Тппегвовг 1авг); Е!1е тюа1а!п>", 1>пе 1, Тп > 7егоаауьваопЕггог: !пгедег Шиш>оп ог воаа1о (7егаа!и!в>опЕггог: целочисленное деление или деление по модулю) »> 789 Решения упражнений лять такие зацикливания и внимательно изучать действия про- граммы, чтобы избежать зацикливания.

Хотите верьте, хотите нет, но циклические структуры данных ино- гда могут быть полезны [но не тогда, когда выводятся на экран!). Часть! 1. Типы и операции Упражнения находятся в главе 9, в разделе «Упражнения ко второй части«, Основы. Ниже приводятся результаты, которые вы должны получить, с некоторыми комментариями к ним. Обратите внимание, что здесь иногда используется символ;, чтобы поместить несколько инструкций в одну строку.

Символ; — это разделитель инструкции: а Числа »> 2 * ° !6 65536 »> 2 / 5, 2 / 5.0 № / усекает целие числа, а с плавающей точкой - нет (О, 0.40000000000000002) в Строки № Конкатенация »> "дгееп Мз апа Кз" М ("вддз", 3) № Форматирование 'дгееп ецдз апо пащ' № Кортежи й Списки »> ( (1,2,3] + [4,5,6] № Операции над спискаии »> Ц Е[:], ([:О], [[-2], Ц-2:] ([1, 2.

3, 4, 5, 6], (1, 2, 3, 4, 5, 6], [], 5, [5, 6]) »> ((1,2,3]+[4,5,6])(2.'4] (3 4] »> (Ц2], Цз]] [3, 4] »> "зращ" + "ецдз зраще99з »> 3 саащ »> "еддз " + 3 'е99з паа' »> 3 ° 5 'пащпащпащпащпащ' >» 3(:О] »> ('х',)(О] элемента 'х' »> ('х, У Н1] элементов У № Повторение № Пустой срез с первого элемента - [О;О] № Индексирование кортежа, состоящего из одного № Индексирование кортежа, состоящего из двух № Извлечение по смещениям с сохрэнениеи в списке 790 Приложение В »> (. гечегвв( ); [6, 5, 4, 3, 2, 1] »> ь.вогт(); [1, 2, 3, 4, 5, 6] »> (. 1поех(4) 3 № Метод: обратное упорядочивание злеиентов в списке № Метод: сортировка элеиентов в списке № Метод, сиеюение первого вкохдения 4 (поиск) в Словари »> ( 'а'; 1, 'Ь'; 2)[ ' Ь' ] № Извлечение элемента словаря по клю~у 2 »> 0 = ('х':1, 'у':2, 'т.':3) >» О['и'] - "0 № Создаст новую запись »> О['х'] + О['и'] 1 »> 0[(1,2,3)] 4 № Использование кортеиа в качестве № ключа (неизиеняеинй) »> 0 ('и': О, 'т': 3, 'у': 2, (1, 2, 3): 4, 'х'.

'1) »> О.хауз(), О.ча)чав(), О.ьав хеу((1,2,3)) № метода (['и', 'г', 'у', (1, 2, 3), 'х ], [О, 3, 2, 4, 1), 1) в Пустив объекте »> [[ П ["",[] (),(),Иола] № Мноиество пустих объектов ( [[ ] ], [ ' ', [ ], ( ), ( ), Иопв ] ) 2. Индексирование и извлечение среза. Если попытатъся получить доступ к элементу, индекс которого выходит за пределы списка (например, ([4]), будет возбуждено исключение — интерпретатор всегда проверяет выход за пределы последователъностей.

С другой стороны, операция извлечения среза с использованием индексов, выходящих за пределы последователъности (например, [[-1000: 100]), будет выполнена без ошибок, потому что интерпретатор Ру()ьоп всегда корректирует срезы, выходящие за пределы, так, чтобы они соответствовали границам последовательности (пределы устанавливаются равными нулю и длине последователъности, если это необходимо). Извлечение последовательности в обратном порядке, когда нижняя граница больше верхней (например, [[3; 1]), в действительности работать не будет.

Вы получите пустой срез (( ]), потому что интерпретатор скорректирует границы среза так, чтобы нижняя граница оказалась меньше или равна верхней границе (например, выражение ЦЗ: 1] будет преобразовано в выражение С[3: 3]- пустая позиция со смещением 3). Срезы в языке Ру(]1оп всегда извлекаются слева направо, даже при использовании отрицательных индексов (они сначала будут преобразованы в положительные индексы за счет добавления длины последовательности). Обратите внимание, что в РуФ](оп 2.5 появились срезы с тремя пределами: выражение [[3;1; -1] на самом деле извлекает срез справа налево: Решения упражнений 791 »> 1 = [1, 2, 3, 4] »> 1[4] ТгасеаасК ([ппегаовт 1авт): Ег 1е "<втоца>". 1>пе 1, 1п > 1псехЕггог: 1)в1 1псех оц1 от гавре (1псехЕггог: выход индекса ва пределы списка) »> Е[-1000;100] [1, 2, 3, 4] »> [[3;1] [] »> [1, 2, 3, 4] »> 1[эг1] ['2'] »> Е [1, 2, 3, 'о', 4] 3.

Индексирование, извлечение среза и инструкция гуе]. Сеанс взаимодействия с интерпретатором должен выглядеть примерно так, как показано ниже. Обратите внимание, что присваивание пустого списка по указанному смещению приведет к сохранению объекта пустого списка в этой позиции, но присваивание пустого списка срезу приведет к удалению этого среза. Операция присваивания срезу ожидает получить другую последовательность, в противном случае будет получено сообщение о неверном типе операнда — она вставляет элементы, находящиеся внутри этой последовательности, а не саму последовательность: »> 1 = [1,2,3,4] »> 1[2] = [] »> [1, 2, [], 4] »> [[2:3] = П »> [ [1, 2, 4] »> Се1 1[0] >» [2, 4] »> Ве1 [[1:] »> [2] »> [[1:2] = 1 ТгасеоасК (тппегаовт 1авг) ет1е "<втотп>", 1гпе 1, гп т турееггог: тпеда1 агдцаепт туре гог оц1!т-гп орегаттоп (ТуреЕггог: неверный тип аргумента встроенной операции) 4.

Кортежи. Значения )( и у поменяются местами. Когда слева и справа от оператора присваивания [=] появляются кортежи, интерпретатор выполнит присваивание объектов справа объектам слева в соответствии с их позициями. Это объяснение, пожалуй, самое простое для понимания, хотя целевые объекты слева и не являются настоя- Приложение В щим кортежем несмотря на то, что они именно так и выглядят, — это просто набор независимых имен, которым выполняется присваивание.

Элементы справа — это кортеж, который распаковывается в процессе выполнения операции присваивания (кортеж играет роль временного хранилища присваиваемых данных, необходимого для достижения эффекта обмена): »> Х = 'вэаа' »> У = 'езев' »>х, у=у, х »> Х 'ессв' >» у 'враз' 5. Ключи слоеарей. В качестве ключа словаря может использоваться любой неизменяемый объект, включая целые числа, кортежи, строки и т.

д. Это действительно словарь, несмотря на то, что некоторые из его ключей выглядят как целочисленные смещения. Допускается с одним и тем же словарем использовать ключи разных типов: »> 0 = () »> 0[1] = 'а' »> 0[2] 'Ь' »> 0[(1, 2, 3)] = 'с' »> 0 (1: 'а', 2: 'Ь', (1, 2, 3): 'с') 6. Индексирование словарей.

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

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

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

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