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

Марк Лутц - Изучаем Python, Четвертое издание (1184811), страница 82

Файл №1184811 Марк Лутц - Изучаем Python, Четвертое издание (Марк Лутц - Изучаем Python, Четвертое издание) 82 страницаМарк Лутц - Изучаем Python, Четвертое издание (1184811) страница 822020-08-21СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Инструкции языка PythonИнструкцияРольПримерПрисваиваниеСоздание ссылокa, *b = ‘good’, ‘bad’, ‘ugly’Вызовы и другиевыраженияЗапуск функцийlog.write(“spam, ham”)Вызов функцииprintВывод объектовprint(‘The Killer’, joke)if/elif/elseОперация выбораif “python” in text:print(text)for/elsewhile/elsepassbreakОбход последовательности в циклеfor x in mylist:Циклы общего назначенияwhile X > Y:Пустая инструкциязаполнительwhile True:Выход из циклаwhile True:print(x)print(‘hello’)passif exittest(): breakcontinueПереход в начало циклаwhile True:defСоздание функцийи методовdef f(a, b, c=1, *d):Возврат результатаdef f(a, b, c=1, *d):if skiptest(): continuereturnprint(a+b+c+d[0])return a+b+c+d[0]325Структура программы на языке PythonИнструкцияРольПримерyieldФункции-генераторыdef gen(n):for i in n: yield i*2globalПространства именx = ‘old’def function():global x, y; x = ‘new’nonlocalПространства имен (3.0+) def outer():x = ‘old’def function():nonlocal x; x = ‘new’importДоступ к модулямimport sysfromДоступ к атрибутаммодуляfrom sys import stdinclassСоздание объектовclass Subclass(Superclass):staticData = []def method(self): passtry/except/finally Обработка исключенийtry:action()except:print(‘action error’)raiseВозбуждение исключений raise endSearch(location)assertОтладочные проверкиassert X > Y, ‘X too small’with/asМенеджеры контекста(2.6+)with open(‘data’) as myfile:delУдаление ссылокdel data[k]process(myfile)del data[i:j]del obj.attrdel variableВ���������������������������������������������������������������������������табл������������������������������������������������������������������������������������������������������������������������������������������������. ��������������������������������������������������������������������10.1 перечислены разновидности инструкций в версии Python���������������������������� 3.0 – элементы программного кода, каждый из которых имеет свой характерный синтаксис и назначение.

Ниже приводятся несколько замечаний к таблице:•• Инструкции присваивания могут принимать различные синтаксическиеформы, которые описываются в главе 11: простое, присваивание последовательностей, комбинированное присваивание и другие.•• В версии 3.0 print не является ни зарезервированным словом, ни инструкцией – это встроенная функция. Однако она практически всегда выполняется как инструкция (то есть занимает отдельную строку в программе),326Глава 10. Введение в инструкции языка Pythonпоэтому ее обычно воспринимают как инструкцию. Мы поближе познакомимся с функцией print в главе 11.•• Начиная с версии 2.5 yield в действительности является выражением, а неинструкцией. Как и функция print, это выражение обычно занимает отдельную строку, и потому оно было включено в табл. 10.1.

Однако иногдав сценариях выполняется присваивание этой инструкции или извлечениерезультата из нее, как будет показано в главе 20. Кроме того, в отличие отprint, имя yield является зарезервированным словом.Большая часть инструкций, перечисленных в табл. 10.1, также имеется в версии Python�������������������������������������������������������������������������������������������������������������������������������������� 2.6.

Ниже приводятся несколько замечаний для тех, кто пользуется Python 2.6 или более ранними версиями:•• В версии 2.6 инструкция nonlocal недоступна. Как мы увидим в главе 17,существуют другие способы добиться того же эффекта в отношении присваивания значений переменным.•• В версии 2.6 print является не функцией, а инструкцией со своим характерным синтаксисом, который описывается в главе 11.•• exec (в версии 3.0 – встроенная функция, позволяющая выполнять фрагменты программного кода) в версии 2.6 также является инструкцией сосвоим характерным синтаксисом. Так как она поддерживает возможностьзаключения аргументов в круглые скобки, в версии 2.6 ее можно использовать как функцию.•• В версии 2.5 инструкции try/except и try/finally были объединены: ранееэто были две самостоятельные инструкции, но теперь мы можем использовать предложения except и finally одновременно, в одной инструкции try.•• В версии 2.5 инструкция with/as была необязательным расширением, и онабыла недоступна, если в программный код не включить инструкцию from__future__ import with_statement (глава 33).История о двух ifОднако прежде чем углубиться в детали какой-либо конкретной инструкциииз табл. 10.1, я хочу обратить ваше внимание на синтаксис инструкций в языкеPython, показав, как не надо писать программный код, чтобы у вас была возможность сравнить его с другими синтаксическими моделями, которые, возможно, вы видели ранее.Рассмотрим следующую условную инструкцию на языке C:if (x > y) {x = 1;y = 2;}Это могла бы быть инструкция на языке ����������������������������������������C���������������������������������������, �������������������������������������C������������������������������������++, ��������������������������������Java����������������������������, ��������������������������JavaScript����������������или �����������Perl�������.

А теперь взгляните на эквивалентную инструкцию на языке Python:if x > y:x = 1y = 2История о двух if327Первое, что бросается в глаза, – инструкция на языке ��������������������Python��������������выглядит компактнее, точнее, в ней меньше синтаксических элементов. Это соответствуетосновным принципам языка; так как Python������������������������������������������������������������������������ – это язык сценариев, его основная цель состоит в том, чтобы облегчить жизнь программистам за счет меньшего объема ввода с клавиатуры.Если быть более точным, то, сравнив две синтаксических модели, можно заметить, что язык Python один новый элемент добавляет, а три элемента, которыеприсутствуют в языках, подобных языку C, ликвидирует.Что добавляет язык PythonОдин из новых синтаксических элементов в языке �������������������������Python������������������� – это символ двоеточия (:).

Все составные инструкции в языке Python��������������������������������������������������������(то есть инструкции, которые включают вложенные в них инструкции) записываются в соответствиис одним и тем же общим шаблоном, когда основная инструкция завершаетсядвоеточием, вслед за которым располагается вложенный блок кода, обычнос отступом под строкой основной инструкции, как показано ниже:Основная инструкция:Вложенный блок инструкцийДвоеточие является обязательным, а его отсутствие является самой распространенной ошибкой, которую допускают начинающие программисты, –я встречал тысячи подтверждений этому в учебных классах. Фактическиесли вы плохо знакомы с языком Python, то вы почти наверняка очень скорозабудете о символе двоеточия.

Большинство текстовых редакторов, обладающих функцией подсветки синтаксиса, делают эту ошибку легко заметной, а сопытом вырабатывается привычка вставлять двоеточие бессознательно (датак, что вы начинаете вводить двоеточие в программный код на языке C++,что приводит к большому числу весьма интересных сообщений об ошибках откомпилятора C++!).Что Python устраняетХотя Python требует ввода дополнительного символа двоеточия, существуюттри элемента, обязательных для языков, подобных языку C, которые языкуPython не требуются.Круглые скобки не обязательныПервый элемент – это пара круглых скобок, окружающих условное выражениев основной инструкции:if (x < y)Круглые скобки здесь являются обязательными во многих C-подобных языках.В языке Python это не так – мы просто можем опустить скобки, и инструкциябудет работать точно так же:if x < yТочнее говоря, так как каждое выражение может быть заключено в скобки,присутствие их не будет противоречить синтаксису языка Python, и они небудут считаться ошибкой.

Но не делайте этого: вы лишь понапрасну будете328Глава 10. Введение в инструкции языка Pythonизнашивать свою клавиатуру, а окружающим сразу будет видно, что вы типичный программист на C, еще только изучающий Python (когда-то и я был такимже). Стиль языка Python����������������������������������������������������������������������������������������������������������������состоит в том, чтобы вообще опускать скобки в подобных инструкциях.Конец строки является концом инструкцииВторой, еще более важный синтаксический элемент, который вы не найдете в программном коде на языке ������������������������������������������Python,����������������������������������� – это точка с запятой. В языке ���Python не требуется завершать инструкции точкой с запятой, как это делаетсяв C-подобных языках:x = 1;Общее правило в языке ����������������������������������������������������Python����������������������������������������������гласит, что конец строки автоматически считается концом инструкции, стоящей в этой строке.

Другими словами, вы можетеотбросить точку с запятой, и инструкция будет работать точно так же:x = 1Существует несколько способов обойти это правило, как будет показано чутьниже. Но в общем случае большая часть программного кода на языке Pythonпишется по одной инструкции в строке, и тогда точка с запятой не требуется.В данном случае, если вы скучаете по тем временам, когда программировали на языке C (если такое состояние вообще возможно…), можете продолжатьвставлять точки с запятой в конце каждой инструкции – синтаксис языка допускает это.

Но не делайте этого: потому что если вы будете поступать так,окружающим сразу будет видно, что вы остаетесь программистом на языкеC, который никак не может переключиться на использование языка Python.Стиль языка Python состоит в том, чтобы вообще опускать точки с запятой.1Конец отступа – это конец блокаТеперь третий, и последний, синтаксический компонент, который удаляет Py���thon, и возможно, самый необычный для недавних экс-С-программеров (покаони не поработают с Python десять минут и не поймут, что в действительностиэто является достоинством языка), – вы не вводите ничего специально в вашкод, чтобы синтаксически пометить начало и конец вложенного блока кода.Вам не нужно вставлять begin/end, then/endif или фигурные скобки вокруг вложенных блоков2, как это делается в C-подобных языках:if (x > y) {x = 1;y = 2;}Для этих целей в языке Python используются отступы, когда все инструкциив одном и том же вложенном блоке оформляются с одинаковыми отступами1Кстати, в JavaScript также можно не ставить точку с запятой в конце строки, но широко распространена традиция ставить такой ограничитель, демонстрируя тем самым как раз хороший стиль оформления программного кода. – Примеч.

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

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

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

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