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

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

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

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

Наконец, какой тип объекта будет получен, когда операция конкатенации применяется к двум спискам или двум строкам? Индексирование строк. Определите строку 8 из четырех символов: 8 = "араа". Затем введите следующее выражение: 8[0)[0)[0)[0)[0). Можете ли вы объяснить, что произошло на этот раз2 (Подсказка: не забывайте, строки — это коллекции символов, а символы в языке Ру1Ьоп представлены односимвольными строками.) Будет ли это выражение работать, если применить его к списку, такому как ['а', 'р', 'а', 'з')? Почему2 Неизменяемые тины. Определите еще раз строку 8 из четырех сим- волов: 8 = "враз".

Напишите операцию присваивания, которая изменила бы строку на "з1ав", используя только операции извлечения среза и конкатенации. Возможно ли выполнить то же самое действие с использованием операций индексирования и конкатенации? С помощью присваивания по индексу элемента7 10. Вложенные структуры. Создайте структуру данных для представления вашей личной информации: имя (имя, фамилия, отчество), возраст, должность, адрес, электронный адрес и номер телефона. При построении структуры вы можете использовать любые комби- нации встроенных объектов (списки, кортежи, словари, строки, числа).

Затем попробуйте обратиться к отдельным элементам структуры по индексам. Являются ли какие-нибудь объекты более предпочтительными для данной структуры? 11. Файлы. Напишите сценарий, который создает и открывает для за- писи новый файл с именем туг((е.гхг, и запишите в него строку ' йе11о Г(1е ног10! ". Затем напишите другой сценарий. который открывает файл тугВе гхг, читает и выводит на экран его содержимое.

Запустите поочередно эти сценарии из командной строки. Появился ли новый файл в каталоге, откуда были запущены сценарии7 Что произойдет, если указать другой каталог в имени файла, которое передается функции ореп7 Примечание: методы записи в файлы не добавляют символ новой строки к записываемым строкам. Добавьте символ ~п явно в конец вашей строки, если хотите получить в файле полностью завершенную строку. 12. Функция г((г.

Попробуйте ввести следующие выражения в интерактивной оболочке. Начиная с версии 1.5, функция Вг г была обобщена Глава 9. Кортежи, файлы и все остальное аетпооз о(с(()) № 7.4 или 7. 5 № 7.5 и более поздние версии (), аетлооз Отт(()) № Словарь так, что она выводит все атрибуты любого объекта, который вас может заинтересовать.

Если вы пользуетесь более ранней версией интерпретатора, тот же эффект можно получить с использованием метода ее(вэба . Если вы пользуетесь интерпретатором РуФЬоп 2.2, скорее всего функция от г окажется единственным работающим инструментом. 111 Инструкции и синтаксис Введение в инструкции языка РУФоп Теперь, когда вы познакомились с базовыми встроенными типами объектов языка Ру$Ьоп, мы начинаем исследование фундаментальных форм инструкций. Как и в предыдущей части книги, мы начнем с общего представления синтаксиса инструкций и затем, в нескольких следующих главах, более подробно рассмотрим конкретные инструкции.

Выражаясь простым языком, инструкции — зто то, что вы пишете, чтобы сообщить интерпретатору, какие действия должна выполнять ваша программа. Если программа гвыполняет какие-то действияэ, то инструкции — это способ указать, какие именно действия должна выполнять программа. РуФЬоп — это процедурный язык программирования, основанный на использовании инструкций; комбинируя инструкции, вы задаете процедуру, которую выполняет интерпретатор в соответствии с целями программы. Структура программы на языке РуФоп Другой способ понять роль инструкций состоит в том, чтобы вновь вернуться к иерархии понятий, представленной в главе 4, в которой рассказывалось о встроенных объектах и выражениях, управляющих ими. Эта глава рассматривает следующую ступень иерархии: 1. Программы делятся на модули.

2. Модули содержат инструкции. 3. Инструкции состоят из выражений. 4. Выражения создают и обрабатывают объекты. Синтаксис языка Ру$Ьоп по сути построен на инструкциях н выражениях. Выражения обрабатывают объекты и встраиваются в инструкции. Инструкции представляют собой более крупные логические блоки Глава 10. Введение в инструкции языка Ру(Ьоп программы — они напрямую используют выражения для обработки объектов, которые мы рассматривали в предыдущих главах. Кроме того, инструкции — это место, где создаются объекты (например, в инструкциях присваивания), а в некоторых инструкциях создаются совершенно новые виды объектов (функции, классы и т. д.).

Инструкции всегда присутствуют в модулях, которые сами управляются инструкциями. Инструкции в языке Рутпоп В табл. 10.1 приводится набор инструкций языка Ру$Ьоп.' В этой части книги рассматриваются инструкции, которые в таблице расположены от начала и до инструкций ЬгеаК и еоп11пое. Ранее неофициально вам уже были представлены некоторые из инструкций, присутствующих в табл. 10.1.

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

Таблица 10.1. Инструкции языка Рутйоп Строго говоря, в РРОЬоп 2.5 инструкция уте1О превратилась в выражение, а инструкции 1 гу/ехоерт н 1 гу/Г1па11у были объединены (ранее это были отдельные инструкции, теперь же допускается одновременно использовать н ехсерт н т)па11у в одной инструкции 1 гу). Кроме того, в РуФЬоп 2.6 появнлаеь новая инструкция управления контекстом и!тв/ав — грубо говоря, ова представляет собой альтернативу операциям тгу/гтпв1!у, имеющим отношение к исключениям (в 2.5 инструкция ч)тп/ав является необязательным расширением, которое недоступно, пока явно не будет подключено ннструкцней ггое готоге 1врогт н!тп зтатеиепт). За дополнительной информацией обращайтесь к руководству по языку РуФЬоп.

В будущей версии 3.0 инструкции рг!пт и ехес превратятся в функции н появится новая инструкция поп1оов1, назначение которой будет напоминать назначение существующей ныне инструкции р1оЬа1. 275 История о двух Л Пример Роль Инструкция Обход последовательности гог х 1п ву1тзт: в цикле рг1пь х Гог/е1зе 1[иклы об!него назначения вь!1е Х > у: рг1пт 'ЬеПо' вы)е/е1зе Пустая инструкция-запол- вьт1е Тгсе: нитель раза рззз вьт1е Тгсе: тт пот 1тпе; Ьгеая Переходы з циклах Ьгеая, сопт!псе Обработка исключений тгу/ехсерт/Г!пз11у тгу: асттоп() ехсерт: Сып! 'ест!оп еггог' Возбуждение исключений гз!зе епсзезгсь, 1осат1сп га1зе Доступ к модулям тврогт„ ггов !вссгт зуз ггов зуз тврогт зто!и Создание функций дет Г(а, Ь. с=1. С); ге!сто звЬвсво[0] Сет 9еп(п) Гог ! тп п.

уте10 ! ° 2 Сет, гетсгп, уте1С Создание объектов с1азз зсьс1ззз(8срегс1ззз): зтат!сьата = [] с1ззз Пространства имен 910Ьз1 сет тспст1оп( ) 910Ьз1 х, у х = 'пев' Удаление ссылок Се1 Сзтз[Х] Се1 Сатз[!.)] Се1 ос).зттг Се1 чаг1зь)е де1 Запуск фрагментов про- граммного кода ехес "!враг! " в воовзве ехес созе 1п 901ст, 10!с! ехес Отладочные проверки аззегт х > у зззегт в!тп/аз менеджеры контекста(2.6) в!!с преп('сета' ) аз вуг!1е: ргосезз(вутт1е) История о двух Ы Прежде чем углубиться в детали какой-либо конкретной инструкции из табл.

10.1, я хочу обратить ваше внимание на синтаксис инструкций в языке Рус)тон, показав, как не надо писать программный код, чтобы у вас была возможность сравнить его с другими синтаксическими моделями, которые, возможно, вы видели ранее. 276 Глава 1О. Введение в инструкции языка РутЬол Рассмотрим следующую условную инструкцию на языке С: тт (х > у) ! х= 1; у=2; Это могла бы быть инструкция на языке С, С++, дача, )ачаЯсг1р1 или Рег1. А теперь взгляните на эквивалентную инструкцию на языке Ру(Ьоп: тт х > у; х =! у=2 Первое, что бросается в глаза, — инструкция на языке РубЬоп выглядит компактнее, точнее, в ней меньше синтаксических элементов. Это соответствует основным принципам языка; так как Ру$Ьоп — это язык сценариев, его основная цель состоит в том, чтобы облегчить жизнь программистам за счет меньшего объема ввода с клавиатуры.

Если быть более точным, то, сравнив две синтаксических модели, можно заметить, что язык Ру(Ьоп один новый элемент добавляет, а три элемента„которые присутствуют в языках, подобных языку С, ликвидирует. Что добавляет язык Рутлол Один из новых синтаксических элементов в языке Ру$Ьоп — это символ двоеточия (: ). Все составные инструкции в языке Ру(Ьоп (т. е. инструкции, которые включают вложенные в них инструкции) записываются в соответствии с одним и тем же общим шаблоном, когда основная инструкция завершается двоеточием, вслед за которым располагается вложенный блок кода, обычно с отступом под строкой основной инструкции, как показано ниже: Основная инструкция. Вложенний блок инструкций Двоеточие является обязательным, а его отсутствие является самой распространенной ошибкой, которую допускают начинающие программисты, — я встречал тысячи подтверждений этому в учебных классах.

Фактически, если вы плохо знакомы с языком Ру(Ьоп, то вы почти наверняка очень скоро забудете о символе двоеточия. Большинство текстовых редакторов, обладающих функцией подсветки синтаксиса, делают эту ошибку легко заметной, а с опытом вырабатывается привычка вставлять двоеточие бессознательно (да так, что вы начинаете вводить двоеточие в программный код на языке С++, что приводит к большому числу весьма интересных сообщений об ошибках от компилятора С++!). гп история о двух я Что Рутг)ог) устраняет Хотя Ру(Ьоп требует ввода дополнительного символа двоеточия, существуют три элемента, обязательных для языков, подобных языку С, которые языку РуФЬоп не требуются.

Круглые скобки необязательны Первый элемент — это пара круглых скобок, окружающих условное выражение в основной инструкции: тт (х с у) Круглые скобки здесь являются обязательными во многих С-подобных языках. В языке Ру()топ это не так — мы просто можем опустить скобки, и инструкция будет работать точно так же: 1т х < у Точнее говоря, так как каждое выражение может быть заключено в скобки, присутствие их не будет противоречить синтаксису языка РуФЬоп, и они не будут считаться ошибкой. Но не делайте этого: вы лишь понапрасну будете изнашивать свою клавиатуру, а окружающим сразу будет видно, что вы — бывший программист, использовавший язык С, еще только изучающий язык РуФЬоп (когда-то и я был таким же).

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

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

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

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