Главная » Просмотр файлов » Саммерфилд - Программирование на Python 3

Саммерфилд - Программирование на Python 3 (1077331), страница 24

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

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

Первый вызов в(г, (агаа!() выводит текст «паше», отцентрированный в поле вывода, шириной 40 символов, а второй вызов выводит пустую строку в поле шириной 40 символов, используя символ «-» в качестве символа-заполнителя, с выравниванием по левому краю. (Мы вынуждены указывать символ выравнивания, когда задается символ-заполнитель.) Как вариант, вторую строку функции можно было записать, как показано ниже: (О)".Гогаа(("-" ° 40)) рг!п!("- Глава 2. Типы данных Здесь мы использовали оператор дублирования строки (*), чтобы создать необходимую строку, и просто вставили ее в строку формата. В третьем случае можно было бы просто ввести 40 символов «-» и использовать простой литерал строки.

а Текущий код символа Юникода сохраняется в перемен- Кодировки символов ной соее, котоРаЯ иниЦиализиРУетсЯ коДом пРобела сгр. 02 (Ох20). В переменную епо записывается максимально возможный код символа Юникода, который может принимать разные значения в зависимости от того, какая из кодировок (()СЯ-2 или ()СЯ-4) использовалась при компиляции Рус)воп. Внутри цикла нл11е с помощью функции олг() мы получаем символ Юникода, соответствующий числовому коду. Функция оп1сооеоата, паза() возвращает название заданного символа Юникода, во втором необязательном аргументе передается имя. которое будет использовано в случае, когда имя символа не определено. Если пользователь не указывает аргумент командной строки (иогп .а Коле) или аргумент был указан и он входит в состав копии имени символа Юникода, в которой все символы приведены к нижнему регистру, то выводится соответствующая строка таблицы.

Мы передаем переменную соее методу агг. Тогваг() один раз, но в строке формата она используется трижды. Первый раз — при выводе значения созе как целого числа в поле с шириной 7 символов (по умолчанию в качестве символа-заполнителя используется пробел, поэтому нет необходимости явно указывать его). Второй раз — при выводе значения соее как целого числа в шестнадцатеричном формате символами верхнего регистра в поле шириной 5 символов. И третий раз — при выводе символа Юникода„соответствующего значению созе, с помощью спецификатора формата «с», отцентрированного в поле с минимальной шириной 3 символа.

Обратите внимание, что нам не потребовалось указывать тип «Й» в первом спецификаторе формата, потому что он подразумевается по умолчанию для целых чисел. Второй аргумент— это имя символа Юникода, которое выводится с помощью метода эгг, 1111е(), в результате которого первый символ каждого слова преобразуется к верхнему регистру, а остальные символы — к нижнему. Теперь, когда мы познакомились с универсальным методом асг.

Тогаа( ), мы можем с успехом использовать его на протяжении остальной части книги. Кодировки символов Так или иначе, но компьютеры могут хранить информацию только в виде байтов, то есть в виде 8-битовых значений в диапазоне от Ох00 до Охрр. Каждый символ должен быть представлен некоторым образом в терминах байтов. На заре развития вычислительной техники были Строки разработаны схемы кодирования символов, в которых каждому конкретному был поставлен в соответствие байт с конкретным значением. Например, в кодировке АЯСП символ А представлен байтом со значением Ох41,  — Ох42 и т. д. В Западной Европе часто использовалась кодировка 1 ат(п-1, ее первые 127 символов совпадали с 7-битовой кодировкой АЯСП, а остальные значения представляли символы с умляутами и другие символы, необходимые европейцам.

За долгие годы появилось множество кодировок, которые используются до сих пор. К сожалению, наличие такого разнообразия кодировок оказалось очень неудобным, особенно при разработке интернационализируемого программного обеспечения. Одним из решений, которое было принято практически повсеместно, стало применение кодировки Юникод. В кодировке Юникод каждому символу ставится в соответствие целое число, то есть его код, как и в кодировках, разработанных ранее, но Юникод не ограничивается использованием одного байта на символ и потому способен обеспечить единую систему представления каждого символа любого языка. А для обеспечения обратной совместимости первые 127 символов Юникода совпадают со 127 символами 7-битовой кодировки АЗСП.

Но как хранятся символы Юникода2 В настоящее время определено немногим более 1 миллиона символов Юникода, поэтому даже 32-битовых целых чисел со знаком более чем достаточно для представления любого кода в кодировке Юникод. Таким образом, самый простой способ хранения символов Юникода заключается в использовании последовательностей 32-битовых целых чисел, по одному целому числу на символ. Такое представление очень удобно хранить в памяти, потому что мы получаем массив 32-битовых чисел, элементы которого имеют однозначное соответствие с символами.

Но тогда если текст в файлах или передаваемый по сети в основном содержит символы 7-битовой кодировки АЯСП, то три из четырех переданных байтов будут нулевыми (Ох00). Чтобы избежать появления такого большого объема ненужной информации, сама кодировка Юникод имеет несколько представлений. В памяти символы Юникода хранятся либо в формате ()СЯ-2 (по сути, 16-битовые целые беззнаковые числа), способном представить первые 65 535 кодов символов, или в формате УСЯ-4 (32-битовые целые числа), способном представить все коды символов, которых к моменту написания этих строк было 1 114 111.

Выбор того или иного формата производится на этапе компиляции РуП122 (Ьоп. (Если значение эуэ, эахоотсосе равно 65 535, значит Ру$)топ компилировался с поддержкой формата ()СЯ-2). При сохранении данных в виде файлов или при передаче по сети используется более сложный формат представления. При использовании Юникода коды символов могут кодироваться с помощью кодировки ()ТР-З, в которой первые 127 символов кодируются однобайтовыми Глава 2.

Типы данных значениями, а остальные — двумя или более байтами. Кодировка ПТР-8 очень компактна для английского текста, и если в нем используются только символы из 7-битового набора АЯСП, то файлы с текстом в кодировке ()ТР-8 ничем не отличаются от файлов в кодировке АЯСП.

Другая популярная кодировка — ПТ» -16. В ней для кодирования значительной части символов используются два байта и для остальных— четыре байта. Она более компактна для некоторых азиатских языков, чем ПТР-8, но, в отличие от нее, текст в кодировке ()ТГ-16 должен начинаться с признака, указывающего порядок следования байтов, чтобы при чтении кодов можно было определить, какой порядок следования пар байтов используется — прямой (Ы3-еп61ап) или обратный (!!ЬЬ- !е-епг(!ап).

Кроме того, по-прежнему широко используются старые кодировки, такие как СВ2312, 130-8859-6, 1 а(!п-1. Метод вгг. епсоце() возвращает последовательность байтов, фактически — объект типа Ьугев, о котором будет рассказываться в главе 7, закодированных в соответствии с кодировкой, заданной в качестве аргумента. С помощью этого метода можно глубже понять различия между кодировками и понять, почему неправильные предположения о кодировке могут приводить к появлению ошибок: »> агг>в1 = "Таце 1веп" »> агг>вг.епсоое("ьастп1") Ь'Таде (хс5в(хе9п' »> аг11в1. епсоое( '09850' ) Ь'Таде ХхбпвХхбцп' »> аггтв1.епсоое("о!18") Ь'Таце ххсбх,х85в>,хсбх,хада' »> агг>в1.епсоое("ос»18") Ь''ххГГхх»еТ'~хООа>,х009'ххООе>,хОО >,х001хс5>,хООвхх00>,хец'ххООп'хх00' Символ «Ь» перед открывающей кавычкой указывает, что это не строковый литерал, а литерал типа Ьугев.

Для удобства при создании литералов типа Ьугев мы можем смешивать печатаемые символы АЯСП с экранированными шестнадцатеричными значениями. Мы не можем представить имя «Та3е х««веп» с помощью символов АЯСП, потому что в этом наборе отсутствует символ «А», как и любые другие символы с умляутами, поэтому при попытке сделать это возбуждается исключение 001сооеЕпсобеЕггог. Кодировка Ва(!и-1 (известная так же, как 130-8859-1) использует для представления символов 8-битовые значения, и в ней присутствуют все символы, необходимые для представления данного имени.

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

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

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

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

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