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

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

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

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

Хотя этих сведений вполне достаточно для большинства программистов, тем не менее я предлагаю исследовать этот тип немного подробнее. В версии Ру([топ 2.3 появился новый логический тип с именем Ьоо1, доступный в виде двух новых встроенных предопределенных имен Тгзе и га1зе, которые в свою очередь являются всего лишь подклассом (в объектно-ориентированном смысле) встроенного целочисленного типа [лт. Тгсе и га!зе ведут себя точно так же, как и целые числа 1 и О, за исключением того, что для их вывода на экран используется другая логика — они выводятся как слова Тгсе и га1зе, вместо цифр 1 и О (технически, класс Ьоо1 переопределяет функции зт г и герг). В соответствии с интерпретацией этих значений, начиная с версии РуФ[топ 2.3, значения выражений логического типа выводятся как слова Тгсе и Га1зе, а не как числа 1 и О.

Можно считать, что логический тип делает истинные значения более явными. Например, теперь бесконечный цикл можно оформить как ип11е Тгсе:, а не как менее очевидный ипт1е 1:. Точно так же более понятной становится инициализация флагов, например Г1аО = га1зе. Во всех остальных практических применениях значения Тгсе и га1зе можно интерпретировать, как предопределенные переменные с целочисленными значениями 1 и О. В любом случае раньше большинство программистов создавали переменные Тгсе и га1зе, которым присваивали значения 1 и О, таким образом данный новый тип просто следует этому стандартному приему. Его реализация может приводить к неожиданным результатам: так как Тгзе — это всего лишь целое значение 1, которое выводится на экран особым образом, выражение Тгзе э 3 даст в языке Ру1)топ результат 4! Мы еще вернемся к логическому типу в главе 9 (где будет дано определение истины в языке РуФ[топ) и в главе 12 (где познакомимся с такими логическими операторами, как ало и ог).

164 Глава 5. Числа Расширения сторонних разработчиков Помимо встроенных числовых типов собственно языка Руй1оп вы можете встретить различные свободно распространяемые расширения сторонних разработчиков, реализующие еще более экзотические числовые типы. К таким типам можно отнести рациональные числа, векторы и матрицы. Модули, реализующие эти типы, можно загрузить из Сети, там же вы найдете более подробную информацию о них. В заключение В этой главе были рассмотрены типы числовых объектов языка Ру$йоп и операции, применяемые к ним.

Здесь мы познакомились со стандартными целочисленными типами и с числами с плавающей точкой, а также с некоторыми экзотическими, нечасто используемыми типами, такими как комплексные числа и числа с фиксированной точностью. Мы также исследовали синтаксис выражений в языке РуФЬоп, порядок преобразования типов, битовые операции и различные литеральные формы представления чисел в сценариях. Далее, в этой же части книги, мы рассмотрим следующий тип объектов — строки. Однако в следующей главе мы потратим некоторое время на более подробное ознакомление с механизмом операции присваивания значений переменным.

Это, пожалуй, самая фундаментальная идея в языке Рубикон, поэтому вам обязательно нужно прочитать следующую главу. Но перед этим ответьте на контрольные вопросы главы. Закрепление пройденного Контрольные вопросы 1. Каким будет значение выражения 2 * (3+ 4) в языке Ру$йоп7 2. Каким будет значение выражения 2 * 3 + 4 в языке РуФпоп7 3. Каким будет значение выражения 2 + 3 * 4 в языке РуФпоп7 4. Какие функции можно использовать для вычисления квадратного корня числа и квадрата7 б.

Какой тип будет иметь результат следующего выражения: 1 + 2, 0 +3? 6. Каким образом можно выполнить усечение и округление числа с плавающей точкой7 7. Как им образом можно преобразовать целое число в число с плавающей точкой7 8. Каким образом можно вывести целое число в восьмеричном и шестнадцатеричном представлениях7 9.

Каким образом можно преобразовать строковое представление восьмеричного или шестнадцатеричного числа в простое целое число7 165 Закрепление пройденного Ответы 6. 7. 8. 1. 2. 3. 4. б. Результатом выражения будет число 14, то есть результат произведения 2 * 7, потому что круглые скобки предписывают выполнить операцию сложения до операции умножения. В данном случае результат будет равен 10, то есть результат выражения 6 + 4. При отсутствии круглых скобок в языке РуС)соп используются правила старшинства операторов, согласно которым оператор умножения имеет более высокий приоритет, чем оператор сложения (стоящий левее). Данное выражение даст в результате число 14, то есть результат выражения 2 е 12, согласно тем же правилам старшинства, что и в предыдущем вопросе.

Функции вычисления квадратного корня, а также числа ли, тангенса и многие другие доступны в импортируемом модуле вас л. Чтобы найти квадратный корень числа, необходимо импортировать модуль заСЛ и вызвать функцию ааСП.адгС()4). Чтобы найти квадрат числа, можно воспользоваться либо оператором возведения в степень Х ** 2, либо встроенной функцией рон(Х, 2). Результатом будет число с плавающей точкой: целые числа будут преобразованы в числа с плавающей точкой, как к наиболее сложному числовому типу в выражении, и для вычисления результата будет использоваться математика вещественных чисел.

Функция слс(й) выполняет отсечение дробной части, а функция госсе(й, рсдс!а?) выполняетокругление. Функция 1'1оас(й) выполняет преобразование целых чисел в числа с плавающей точкой. Смешивание целых чисел и чисел с плаваю- щей точкой в одном выражении также приводит к выполнению преобразования. Встроенные функции осС(1) и Пех(1) возвращают строковые пред- ставления целых чисел в восьмеричном и в шестнадцатеричном фор- матах, Для этих же целей может использоваться строка формата %. Для преобразования строковых представлений восьмеричных и шестнадцатеричных чисел в обычные целые числа может использоваться функция!лс(8, Ьаае? ). Для этих целей может также использоваться функция еча!(З), но она более медленная и может стать источником проблем, связанных с безопасностью.

Обратите внимание: целые числа в памяти компьютера всегда хранятся в двоичном формате, для вывода которых просто используются разные форматы представления. Интерлюдия о динамической типизации В предыдущей главе мы приступили к детальному исследованию базовых типов объектов в языке Ру$Ьоп, начав с чисел.

Мы продолжим наши исследования типов в следующей главе, но прежде чем продолжить, вам необходимо разобраться в самой фундаментальной, на мой взгляд, идее программирования на языке РуФЬоп, которая составляет основу гибкости языка — динамической типизации и полиморфизме. Как будет показано в этой главе и далее в книге, в сценариях на языке Ру1Ьоп не производится объявление объектов определенных типов.

В действительности нам даже не приходится беспокоиться о конкретных типах; более того, они могут применяться в более широком диапазоне ситуаций, чем можно было предусмотреть заранее. Поскольку динамическая типизация составляет основу этой гибкости, давайте коротко ознакомимся с этой моделью. Отсутствие инструкций объявления Если у вас имеется опыт работы с компилирующими языками или с языками, обладающими статической типизацией, такими как С, С++ или дача, вероятно, эта тема в книге вызывает у вас недоумение. Мы все время использовали переменные, не объявляя ни их самих, ни их типы, и все как-то работало.

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

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

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

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

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

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