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

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

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

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

5.1) реализованы как тип 1оп9 в языке С (то есть имеют размер как минимум 32 бита), а вещественные числа в языке Ру1Ьоп реализованы как тип Ооп01е в языке С. Таким образом, точность представления чисел этих типов соответствует точности представления, которую обеспечивает компилятор языка С, использованный для сборки интерпретатора РуФЬоп.' Литералы длинных целых чисел Если числовой литерал заканчивается символом 1 или 1, он рассматривается интерпретатором РуФЬоп как длинное целое число (не надо путать с типом 1оп9 в языке С) и может использоваться для представления сколь угодно больших чисел. В Ру1Ьоп 2.2 и более поздних версиях целые числа автоматически преобразуются в длинные целые, если их значения не умещаются в отведенные 32 бита, поэтому вам не требуется вводить символ 1 — интерпретатор автоматически выполнит необходимые преобразования, когда потребуется увеличить точность представления.

Шестнадцатеричные и восьмеричные литералы Правила записи шестнадцатеричных (по основанию 16) и восьмеричных (по основанию 8) чисел в языке Ру1Ьоп ничем не отличаются от правил, используемых в языке С. Литералы восьмеричных чисел начинаются с нуля (0), вслед за которым следуют восьмеричные цифры 0-7. Шестнадцатеричные литералы начинаются с комбинации символов Ох или ОХ, вслед за которыми следуют шестнадцатеричные цифры 0-9 и А-Г. Шестнадцатеричные цифры в шестнадцатеричных литералах могут вводиться как в нижнем, так и в верхнем регистре. И восьмеричные, и шестнадцатеричные литералы создают объекты целых чисел — это всего лишь альтернативный синтаксис определения значений этого типа. Компленсные числа Литералы комплексных чисел в языке Ру1Ьоп записываются в формате вещественная часть+инимзя часть, где вещественная часть является необязательной и мниизя часть может указываться без вещественной составляющей.

Во внутреннем представлении комплексное число реализовано в виде двух чисел с плавающей точкой, но при обработке чисел этого типа используется математика комплексных чисел. Это замечание относится к стандартной реализации СРуьЬсп. В ауСЬоп чи- словые типы РуФЬоп в действительности соответствуют классам Оача.

145 Операторы выражений Встроенные числовые операции и расширения Помимо числовых литералов, которые приводятся в табл. 5.1, язык Ру$Ьоп предоставляет набор операций для работы с числовыми объектами: Оаераторьс выражений с, *, », * и другие.

Встроенные математические функции рою, ааа и другие. Вспомогательные модули гапбов, вата и другие. По мере продвижения мы встретимся со всеми этими компонентами. Наконец, если вам предстоит заниматься сложными математическими вычислениями, вы можете использовать специализированное расширение МитРу (Ышпег)с РуФЬоп), которое обеспечивает расширенные возможности при программировании математических вычислений, такие как матричный тип, обработка векторов и библиотеки для выполнения сложнейших математических вычислений. Группы программирования научных вычислений в таких организациях, как (аэггепсе 1айаегшоге и ХАБА, используют РуФЬоп с расширением ХпшРу для реализации разнообразных задач, которые раньше решались с помощью языков С++, УОГстйАЫ или Ма$1аЬ.

Из-за высокой сложности ХпшРу мы больше не будем говорить об этом расширении в данной книге. Дополнительные средства поддержки математических вычислений в языке РуФЬоп вы найдете на сайте Чап1$а о1 Рагпааапа или выполнив поиск в Сети.

Следует также заметить, что в настоящее время расширение ЫпшРу является дополнительным— оно не входит в состав пакета Ру$Ьоп и его необходимо устанавливать отдельно. В РусЬоп 3.0 типы целых чисел и длинных целых будут унифицированы. Таким образом, интерпретатор будет поддерживать единственный целочисленный тип — тип шт. Он будет поддерживать неограниченную точность представления, как это сейчас реализовано э длинных целых числах. В связи с этим большинство программистов заметят лишь незначительные изменения или вообще ничего не заметят.

Дополнительную информацию вы найдете в примечаниях к выпуску РусЬоп 3.0. Операторы выражений Пожалуй, самой фундаментальной возможностью обработки чисел являются выражения: комбинации чисел (или других объектов) и операторов, которые возвращают значения при выполнении интерпретатором Ру1Ьоп. Выражения в языке Ру1Ьоп записываются с использованием обычной математической нотации и символов операторов. Например, Глава 5. Числа сложение двух чисел Х и У производится с помощью выражения Х+ У, которое предписывает интерпретатору РуФ)уоп применить оператор ь к значениям с именами Х и У.

Результатом выражения Х + У будет дру- гой числовой объект. Таблица 5.2. Операторы выражений е языке Ру()гоп и правила определения старшинства Описание Операторы у>е1О х Генератор протокола передачи функции (по. явился в версии 2.5) Создает анонимную функцию 1азсса агре: ехргезтоп х >Г у Е1ЕЕ г Трехместный оператор выбора (появнлся в вер- сии 2.5) Логическая операция ИЛИ (значение у вычис- ляется, только если значение х ложно) х ог у Логический оператор И (значение у вычисляет- ся, только если значение х истинно) х апо у Логическое отрицание пес х Операторы сравнения, операторы равенства', операторы проверки идентичности объектов, операторы проверки вхождения в последова- тельность х < у, х <= у, х > у, х > = у, х == у, х <> у, х '= у, х 1з у, х !в по1 у, х 1п у, х по< >и у Битовая операция ИЛИ Битовая операция «исключающее ИЛИ» (ХОВ) Битовая операция И Сдвиг значения х влево илн вправо на у битов Сложение/конкатенация, вычитание х ) у х" у хьу х«у, х»у -х+у, х-у В версии Ру1Ьоп 2.5 неравенство значений можно проверить двумя способа- ми, как Х! = У или как Х <> У.

В РуФЬоп 3.0 последний вариант будет убран, как избыточный — используйте выражение Х! = У для проверки на неравенство. В табл. 5.2 приводится перечень всех операторов, имеющихся в языке Ру$)уоп. Многие из них достаточно понятны сами по себе, например обычные математические операторы (+, -, *, гг и т. д.). Некоторые будут знакомы тем, кто в прошлом использовал язык С: оператор Уг вычисляет остаток от деления, оператор «производит побитовый сдвиг влево, оператор 5 выполняет побитовую операцию и т. д. Другие операторы более характерны для языка Ру1)>оп, и не все имеют математическую природу. Например, оператор 1в проверяет идентичность объектов (это более строгая форма проверки на равенство), оператор 1аебов создает неименованные функции и т.

д. О большинстве из этих операторов мы еще будем говорить более подробно. 147 Операторы выражений Операторы Описание Умножение/повторение, остаток/Формат, де- ление" х ° у, х % у, х / у, х О у Унарный знак «минус», тождественность, би- товое дополнение, возведение в степень -х, +х, х, х ** у х[т), х[т'3), х,зттг, х( ( ),[..),[ Индексация, извлечение среза, уточнение имени, вызов функции Кортеж, список», словарь, преобразование в строку' Операция деления с округлением вниз (Х // т), впервые появившаяся в Ру()топ 2.2, всегда усекает дробную часть. Она будет описана в разделе «Деление: классическое, с округлением вниз и истинное». Начиная с версии РХФЬоп 2.0, с помощью синтаксиса списка ([... ]) можно определить либо литерал списка, либо генератор списков.

Последняя форма представления подразумевает выполнение цикла и сбор результатов в виде нового списка. Преобразование объектов в соответствующие им строки для вывода на экран также может быть выполнено с помощью более удобочитаемых функций зтг и терц котоРые будут описаны в разделе «»Рормать» отображения чисел» ниже, в этой же главе. Из-за неочевидности выражение 'Х ' планируется исключить из Ру(Ьоп 3.0, используйте вместо него герт( Х) . Смешанные операторы и определение старшинства операторов Как и в большинстве других языков программирования, в языке Ру- ([топ можно создавать сложные выражения, объединяя несколько опе- раторов из табл. 5.2 в одной инструкции.

Например, вычисление сум- мы двух произведений можно записать следующим образом: А*В С*0 Как в этом случае интерпретатор узнает, какие операторы должны выполняться в первую очередьу Ответ на этот вопрос заключается в старшинстве операторов. Когда интерпретатор Ру(акоп встречает выражение, содержащее более одного оператора, он делит его на отдельные части в соответствии с правилами старшинства и определяет порядок вычисления этих частей выражения. В табл. 5.2 чем выше приоритет оператора, тем ниже он находится в таблице и тем раньше он выполняется в смешанных выражениях. Например, если вы запишете выражение Х + У * 2, интерпретатор Ру()топ сначала выполнит умножение (т' * 7), а затем прибавит результат к значению Х, потому что оператор ° имеет более высокий приоритет (в табл.

5.2 он находится ниже), чем оператор +. Точно так же в первом примере этого раздела сначала будут найдены произведения (А * В и С * О), а затем будет выполнено сложение. Глава 5. Числа 148 Группировка подвыражений с помощью круглых скобок Вы можете навсегда забыть о старшинстве операторов, если будете группировать части выражений с помощью круглых скобок. Когда часть выражения заключается в круглые скобки, они отменяют правила старшинства операторов — РуФЬоп всегда в первую очередь вычисляет подвыражения в круглых скобках, а затем использует их результаты в объемлющем выражении.

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

Например, вы хотите найти сумму целого числа и числа с плавающей точкой: 40 + 3.14 Но это влечет за собой другой вопрос: какого типа будет результат— целое число или число с плавающей точнейше Ответ прост, особенно для тех, кто уже имеет опыт работы с любыми другими языками программирования: в выражениях, где участвуют значения различных типов, интерпретатор сначала выполняет преобразование типов операндов к типу самого сложного операнда, а потом применяет математику, специфичную для этого типа. Если вам уже приходилось использовать язык С, вы найдете, что такое поведение соответствует порядку преобразования типов в этом языке.

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

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

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

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