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

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

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

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

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

1сэе г( ) Возвращает копию строки в, которая, если ее длина меньше величины ю дополняется слева нулями до длины и 96 Глава 2. Типы данных Метод вгг.)о!и() может также использоваться в комбинации со встроенной функцией генегвеб(), которая переворачивает строку — например, "",) о! п(генегвеб(в) ), хотя тот же результат может быть получен более кратким оператором извлечения разреженного среза — например, в(::-1). Оператор * обеспечивает возможность дублирования строки: »>в="="*5 »> рг1пг(в) »> в.= 10 »> рг1пг(в) Как показано в примере, мы можем также использовать комбинированный оператор присваивания с дублированием.' Когда оператор проверки на вхождение >п применяется к строкам, он возвращает Тгие, если операнд слева является подстрокой операнда справа или равен ему.

Когда необходимо точно определить позицию подстроки в строке„можно использовать два метода. Первый метод вгг. !пбех() возвращает позицию подстроки в строке или возбуждает исключение Нз1иеЕ г го г, если подстрока не будет найдена. Второй метод в1г.1!пб() возвращает позицию подстроки в строке или -1 в случае неудачи. Оба метода принимают искомую подстроку в качестве первого аргумента и могут принимать еще пару необязательных аргументов. Второй аргумент определяет позицию начала поиска, а третий — позицию окончания поиска. Какой из двух методов использовать — это лишь вопрос вкуса, хотя, ес- ли выполняется поиск нескольких вхождений одной и той же подстро- ки, программный код, использующий метод ввг.

1пбех(), выглядит бо- лее понятным, как показано ниже: Строки также поддерживают оператор форматирования %. Этот оператор считается устаревшим н поддерживается только для облегчения перевода программ с версии Район 2 на версию Рувимов 3. Он не используется нн в одном нв тех примеров, которые приводятся в книге. бег ехггас1 !гоп гад(1а9, 1>пе): орепег = "<" т твд + ">" с1овег = "</" + гад + ">" 1гу; > = 1>пе.>пбех(орепег) згагт = ! ч 1еп(орепег) 1 = 11ПЕ.ШбЕХ(С1ОВЕГ, В1ВГ1) ге!игл 1!пе(в!вгг:1) вхсврг На1иеЕггог. ге!игр попе беГ ех(гвсг Ггое гвд(гад, 1>пе): орепег = "<" т 1а9 ч ">" с1овег = "</" + гад + ">" ! = 1гпе.(гпб(орепег) >11'=-1: жзгг = ! т 1еп(орепег) 1 = 11пе. (1пб(с!овег, вгагг) != -1: ге!игр 1>пе(вгвгг:1) ге!игл Носе 97 Строки Обе версии функции ехтгвс1 Егоа !]ад() обладают одинаковым поведе- НИЕМ.

НаПрИМЕр, ВЫЗОВ ЕХ1Гао1 (ГОа гад("ГЕб", »ВПВ1 В <ГЕб>ГОЗЕ</ГЕб> 1П!в 13") возвращает строку «гове». В версии слева, основанной на обработке исключения, программный код, выполняющий поиск„отделен от программного кода, выполняющего обработку ошибок, а в версии справа программный код обработки строки смешивается с программным кодом обработки ошибок. Все методы — 31г. сооп1(), 31г. епбзи!1п(), втг.

1тпб(), втг. гттпб(), ззг. тпбех(), втг. г!пбех() и згг, втагтви!1П() — принимают до двух необязательных аргументов: начальную и конечную позиции. Ниже приводятся два примера эквивалентностей (предполагается, что 3 — строка): в.соипт("а", б) == в(б:].соипт("а") в.соип1("а", 5, -3) == в(5,'-3].соом("а") Как видите, строковые методы, принимающие начальную и конечную позиции, действуют со срезом строки, определяемым этими позициями. Теперь взгляните на еще одну пару эквивалентных фрагментов, на этот раз поясняющих действие метода 31г, ра г131 топ( ): 1 = 3 гт!пб('/") тг т == -!: гезо1т = в, е1зе: гево11 = в(.т], з(т], в(т + 1.] гево11 = в.грагттттоп("/") Фрагменты программного кода слева и справа не совсем эквивалентны, потому что фрагмент справа создает новую переменную т.

Обратите внимание, что имеется возможность выполнять присваивание кортежей без лишних формальностей и что в обоих случаях выполняется поиск самого последнего (крайнего справа) вхождения символа /. Если предполагать, что 3 — это строка "/овг/1оса1/о(п/1! ге(ох", то оба фрагментавернутодинитотжерезультат: ('/овг/1осв1/Ьтп', '/', 'Гтге!ох'). Метод 31г. епбзи!1П() (и 31г, 31вг1зи!1П()) может использоваться с единственным строковым аргументом, например в. втвг1зи!1П("Егоа; "), или с кортежем строк.

Ниже приводится инструкция, в которой используются методы зтг. епбвиггП() и 31г. 1оиег() для вывода имени файла, если он является файлом изображения в формате ]РЕО: тг гт1впаае.1оиег().епбви!1п((".)рц", .1ред ))' рыМ(тт1епаае, "тв а 3РЕО 1ааде") Методы семейства !в*, такие как !за1рпв() и !взрасе(), возвращают Тгое, если строка, в контексте которой они вызываются, имеет по меньшей мере один символ, и все символы в строке соответствуют определенному критерию. Например: »> "917.5". тзшд«1(), "".

!вбтцтт(), "-2".твбтд11(), "203".!вбтдтт() (Еа)зе, Еа1ве, Еа1ве, тгое) 98 Глава 2. Типы данных Методы семейства !5* работают с символами Юникода, поэтому вызов Бсг. !Бб!д!1() для строк "!)((01гс1еб б!911 смо)03" и "ФОЗ" в обоих случаях вернет Тгое. По атой причине, когда метод !Бб!9!1() возвращает Тгое, нельзя утверждать, что строка может быть преобразована в целое число. Когда мы получаем строки из внешних источников (из других программ, из файлов, через сетевые соединения или в результате взаимодействия с пользователем), они могут содержать в начале или в конце нежелательные пробельные символы. Удалить пробельные символы, находящиеся в начале строки, можно с помощью метода всг.

15стр(), в конце строки — с помощью метода БСг, гвсг!Р(), а с обоих концов— с помощью метода 51 г. Бсг!Р(). Мы можем также передавать методам семейства *Бсг!р строки, в этом случае они удалят каждое вхождение каждого символа с соответствующего конца (или с обоих концов) строки. Например: »> 5 = "КС по Ра<Кспд " >» 5. 151Г!Р(), 5. ГБСГ1Р(), Б. Бсгср() ('по Рагхспд ', 'КС по Рагхспд', 'по РагКсп9') »> "<[ипьгескесеб]>'к Бсг!Р("[]()()<>") 'опЬгасКе1еб' о Мы можем также замещать подстроки в строках, нсПркмер ое„дос„! пОЛЬЗуЯ мЕтОд 51Г, гер1асе().

Этот метод принимает два РУ, БГР.1!9 строковых аргумента и возвращает копию строки, в контексте которой был вызван метод, где каждое вхождение строки в первом аргументе замещено строкой во втором аргументе. Если второй аргумент представляет собой пустую строку, это приведет к удалению всех вхождений строки в первом аргументе. Мы увидим примеры использования Бсг, гер1асе() и некоторых других строковых методов в примере саи2Итйру в разделе «Примеры» в конце этой главы. Часто бывает необходимо разбить строку на список строк. Например, у нас может иметься текстовый файл с данными, в котором одной строке соответствует одна запись, а поля внутри записи отделяются друг от друга звездочками.

Реализовать такое разбиение можно с помощью метода 51г.вр1!1(), передав ему строку, по которой выполняется разбиение, в виде первого аргумента и максимальное число разбиений в виде второго, необязательного аргумента. Если второй аргумент не указан, выполняется столько разбиений, сколько потребуется. Ниже приводится пример использования метода: »> ГЕООГб = ГЬЕО ТО15СОУ 1828-8-28*1910-!1-20" »> г!е155 = гесогб.эр!!1("*") »> Гсе105 ['Сео ТР151оу', '1828-8-28', '1910-11-20'] Строки 99 Теперь мы можем с помощью метода атг, ар11С() выделить год рождения и год смерти и определить, сколько лет прожил Лев Толстой (плюс-минус один год): »> Ьогп = (1е105[1].

вр1ст( - ) »> Ьогп ['1828', '8', '28'] »> 01ее = Гсе)се[2].ВР)!С("-") »> рг1пс("11ыео аьовс", спс(с!ее[0]) - 1пс(ьогп[0]), "уеагв") 11нее аЬош 82 уеагв Нам потребовалось использовать преобразование ! пс ( ), чтобы преобразовать годы из строк в целые числа, но в остальном в этом фрагменте нет ничего сложного. Мы могли бы получить годы непосредственно из списка т[е108 — например, уеаг Ьогп = !пС(тсе108[1].ар1сС("-")[О]). В табл.

2.7 остались неописанными два метода — асг.заме!гара() и в! г. с гапв1асе() . Метод вс г. ваке! гапа( ) используется для создания таблицы преобразований, которая отображает одни символы в другие. Этот метод принимает один, два или три аргумента, но мы рассмотрим только простейший случай использования (с двумя аргументами), когда первый аргумент представляет строку, содержащую символы для преобразования, а второй — строку с символами, в которые нужно преобразовать. Оба аргумента должны иметь одинаковую длину, Метод втг.

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

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

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

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