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

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

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

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

Имена не имеют типа, тип — это характеристика объектов По большей части это лишь краткий обзор, но вы должны помнить, что крайне важно сохранить четкое понимание различий между именами и объектами в языке Ру1Ьоп. Как говорилось в главе 6 «Интерлюдия о динамической типизации», объекты имеют тип (например, целое число, список) и могут быть изменяемыми или нет. С другой стороны, имена (они же переменные) всегда являются всего лишь ссылками на объекты — они не имеют информации об изменяемости или о типе отдельно от типа объекта, на который они ссылаются в данный момент времени. Это вполне нормально, когда в разные моменты времени одно и то же имя связывается с объектами разных типов: »> х = О № Иия к саяаыааатся с целочисленная обьектои »> х = "Н«11о" № Теперь оно представляет строку »> х = (1, 2, 3) № А теперь - список В последующих примерах вы увидите, что такая универсальная природа имен может рассматриваться как существенное преимущество при программировании на языке Ру(йоп.' В четвертой части книги вы Если вам приходилось пользоваться языком С++, возможно, ввс заинтересует, что в отличие от С++ в языке Рус!>оп отсутствует объявление салат.

Некоторые объекты могут быть неизменяемыми, но имена всегда допускают выполнение операции присваивания. Кроме того, в языке Русйоп имеются средства сокрытия имен в классах и модулях, во овн также ве являются аналогами объявлений в азыке С+э. Инструкции выражений узнаете, что имена находятся внутри области видимости, которая определяет, где эти имена могут использоваться — место, где выполня- ется присваивание, определяет, где это имя будет видимо. Инструкции выражений В языке Ру(Ьоп выражения также могут использоваться в качестве инструкций (т.

е. в отдельной строке). Однако, поскольку результат вычисления таких выражений не сохраняется, использовать такую возможность имеет смысл только в том случае, если выражение выполняет какие-то полезные действия в виде побочного эффекта. В качестве инструкций выражения используются обычно в двух ситуациях: Длл вызова функций и метподов Некоторые функции и методы выполняют огромный объем работы, не возвращая никакого значения. В других языках программирования такие функции иногда называют процедурами. Поскольку они не возвращают значений, которые могло бы потребоваться сохранить, вы можете вызывать эти функции в инструкциях выражений.

Длл вывода значений в интерактивной оболоске В ходе интерактивного сеанса интерпретатор автоматически выводит результаты вводимых выражений. С технической точки зрения они также являются инструкциями выражений и играют роль сокращенной версии инструкции рг(пт. В табл. 11.4 перечислены некоторые наиболее часто используемые в языке Ру$Ьоп формы инструкций выражений. При вызове функций и методов им передаются ноль или более объектов в виде аргументов (в действительности — выражений, результатом вычисления которых являются объекты) в круглых скобках, следующих за именем функции или метода. Таблица 11.4. Наиболее часто используемые в языке Рут)топ инструкции выражений Операция Интерпретация Вызов функции Вызов метода враз(е99в, Ьае) врзе.ьзв(е99в) Вывод значения переменной в интерактивной оболочкеинтерпретатора враз Составное выражение Проверка на принадлежность диапазону врез < (1ав асс Ьав != еррв враз < Еае < е99в Последняя строка в таблице представляет специальную форму: язык РуьЬоп позволяет объединять операции сравнения, чтобы выполнить серию сравнений в таких операциях, как проверка на принадлежность Э06 Глава 11.

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

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

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

В действительности они возвращают объект Моле. Если результат такой операции присвоить той же переменной, вы потеряете список (скорее всего, он будет уничтожен в ходе процесса сборки мусора!). Поэтому не делайте этого. Мы еще раз вернемся к этому явлению в разделе «Распространенные ошибки программирования» в конце этой части книги, потому что подобные ситуации могут складываться в кон- инструкция рппт тексте выполнения некоторых операторов цикла, с которыми мы по- знакомимся в последующих главах. Инструкция рпп1 Инструкция ргтпт производит вывод на экран — это просто удобный для программистов интерфейс к стандартному потоку вывода.

С технической точки зрения эта инструкция преобразует объекты в текстовое представление и посылает результат на устройство стандартного вывода. Поток стандартного вывода в языке Рус)топ — это то же самое, что этсоп1 в языке С; обычно он отображается на окно, в котором была запущена программа на языке РуФЬоп (если стандартный вывод не был перенаправлен в файл или в канал средствами системной командной оболочки). В главе 9 мы рассматривали некоторые методы для работы с файлами, которые выводят текст.

Инструкция рг(пт чем-то похожа на них, но она имеет более специализированное назначение: инструкция рг)пт записывает объекты в поток зтбоит (с соблюдением некоторого форматирования по умолчанию), в то время как методы файлов записывают строки в произвольные файлы.

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

По умолчанию она до- бавляет пробел между элементами, отделенными запятыми, и символ конца строки в конце текущей строки вывода: »>х= 'а' »>у= Ь >» рг1пт х, у а Ь Такое форматирование — всего лишь значение по умолчанию, которое можно использовать или нет. Чтобы подавить вывод символа конца строки (чтобы позднее можно было продолжить вывод текста в текущую зов строку), инструкцию рг)п1 следует завершать символом запятой, как показано во второй строке табл. 11.5.

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

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

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

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