Наоми Седер - Python. Экспресс-курс

Тут можно читать онлайн Наоми Седер - Python. Экспресс-курс - бесплатно полную версию книги (целиком) без сокращений. Жанр: Программы, издательство Питер, год 2019. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Python. Экспресс-курс
  • Автор:
  • Жанр:
  • Издательство:
    Питер
  • Год:
    2019
  • ISBN:
    978-5-4461-0908-1
  • Рейтинг:
    3/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Наоми Седер - Python. Экспресс-курс краткое содержание

Python. Экспресс-курс - описание и краткое содержание, автор Наоми Седер, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Вы уже умеете кодить на одном или нескольких языках программирования? Тогда настала пора пройти экспресс-курс Python. Впервые на русском языке выходит новое издание одной из самых популярных книг издательства Manning. С помощью этой книги вы можете быстро перейти от основ к управлению и структурам данных, чтобы создавать, тестировать и развертывать полноценные приложения.
Наоми Седер рассказывает не только об основных особенностях языка Python, но и его объектно-ориентированных возможностях, которые появились в Python 3. Данное издание учитывает все изменения, которые произошли с языком за последние 5 лет, а последние 5 глав рассказывают о работе с большими данными.

Python. Экспресс-курс - читать онлайн бесплатно полную версию (весь текст целиком)

Python. Экспресс-курс - читать книгу онлайн бесплатно, автор Наоми Седер
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

x.rstrip("),")

x.strip("),\n")

x.strip("\n)(,")

6.4.4. Поиск в строках

Объекты строк предоставляют методы для выполнения простого поиска. Тем не менее, прежде чем описывать их, я хочу поговорить о другом модуле Python: re (этот модуль подробно рассматривается в главе 16). ДРУГОЙ СПОСОБ ПОИСКА В СТРОКАХ: МОДУЛЬ REМодуль re также позволяет выполнять поиск в строках, но делает это намного более гибко с использованием регулярных выражений . Вместо того чтобы искать одну конкретную под -строку, модуль re проводит поиск по шаблону — например, можно искать подстроки, состо -ящие только из цифр.

Почему я упоминаю об этом сейчас, хотя модуль re будет рассматриваться позднее? По моему опыту, базовые средства поиска часто используются неподходящим образом. Разработчику стоило бы воспользоваться более мощными средствами поиска, но он не знает об их существовании и даже не ищет чего-то лучшего. Возможно, вы работаете над первоочередным проектом, в ко -тором используются строки, и у вас нет времени читать всю книгу. Если базовые средства поиска решают вашу проблему — отлично. Но знайте, что существует и более мощная альтернатива. Существуют четыре базовых метода поиска в строках: fnd , rfnd , index и rindex . Сопутствующий метод count подсчитывает, сколько раз подстрока встречается в другой строке. Я подробно опишу метод fnd , а затем объясню, чем другие методы отличаются от него.

Метод fnd получает один обязательный аргумент: искомую подстроку. Он возвра-щает позицию первого символа в первом вхождении подстроки в строке или –1 , если подстрока не встречается в строке:

>>> x = "Mississippi"

>>> x.find("ss")

>>> x.find("zz")

-1

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

>>> x = "Mississippi"

>>> x.find("ss", 3)

5

>>> x.find("ss", 0, 3)

-1

Метод rfnd очень похож на fnd , не считая того, что он начинает поиск от конца строки и возвращает позицию первого символа последнего вхождения подстроки в строке : >>> x = "Mississippi"

>>> x.rfind("ss")

5

Метод rfnd также может получать один или два необязательных аргумента, смысл которых аналогичен аргументам fnd .

Методы index и rindex идентичны fnd и rfnd соответственно, кроме одного раз-личия: если index или rindex не могут найти вхождение подстроки в строке , метод не возвращает –1 , а инициирует исключение ValueError . О том, что именно это означает, вы поймете после прочтения главы 14.

Метод count используется по тем же принципам, что и четыре предыдущие функ-ции, но он возвращает количество неперекрывающихся вхождений заданной под -строки в строке :

>>> x = "Mississippi"

>>> x.count("ss")

2

Для поиска в строках также могут использоваться еще два метода: startswith и endswith . Эти методы возвращают результат True или False в зависимости от того, начинается ли (или заканчивается) строка, для которой они вызываются, одной из строк, переданных в параметрах:

>>> x = "Mississippi"

>>> x.startswith("Miss")

True

>>> x.startswith("Mist")

False

>>> x.endswith("pi")

True

>>> x.endswith("p")

Методы startswith и endswith позволяет искать более одной строки одновремен-но. Если параметр представляет собой кортеж строк, то оба метода проверяют все строки в кортеже и возвращают True , если будет найдена хотя бы одна из них: >>> x.endswith(("i", "u"))

True

Методы startswith и endswith хорошо подходят для простого поиска, когда вы уверены в том, что именно ищется в начале или конце строки.

БЫСТРАЯ.ПРОВЕРКА:.ПОИСК.В.СТРОКАХ

Допустим, вы хотите проверить, завершается ли строка подстрокой "rejected" . Какой строковый метод вы для этого используете? Можно ли добиться того же результата другими способами?

6.4.5. Изменение строк

Строки являются неизменяемыми, но объекты строк поддерживают ряд методов, которые возвращают новую строку — модифицированную версию исходной строки. Такой результат, по сути, приводит к тому же результату, что и прямое изменение. За полным описанием этих методов обращайтесь к документации. Метод replace может использоваться для замены вхождений подстроки substring (первого аргумента) другой строкой newstring (второй аргумент). Этот метод также получает необязательный третий аргумент (за подробностями обращайтесь к документации):

>>> x = "Mississippi"

>>> x.replace("ss", "+++")

'Mi+++i+++ippi'

Как и в случае с функциями поиска, модуль re предоставляет гораздо более мощные средства замены подстрок.

Функции string.maketrans и string.translate могут использоваться для преоб-разования символов в строках другими символами. Эти функции используются относительно редко, но в этих отдельных случаях они могут упростить вам жизнь. Предположим, вы работаете над программой, которая преобразует строковые вы-ражения с одного компьютерного языка на другой. В первом языке для обозначения логического отрицания используется оператор ~ , а в другом оператор ! ; в первом языке для обозначения операции «логическое ИЛИ» используется оператор ^ , а во втором & ; в первом языке используются круглые скобки ( и ) , а во втором — квадратные скобки [ и ] . В заданном строковом выражении необходимо заменить все вхождения ~ на ! , все вхождения ^ на & , все вхождения ( на [ , и все вхождения ) на ] . Это можно сделать многократными вызовами replace , но проще и эффективнее действовать иначе: >>> x = "~x ^ (y % z)"

>>> table = x.maketrans("~^()", "!&[]")

>>> x.translate(table)

'!x & [y % z]'

Во второй строке метод maketrans создает таблицу преобразования по двум своим строковым аргументам. Два аргумента должны содержать одинаковое количество символов, а таблица устроена так, что для n -го символа первого аргумента она воз-вращает n -й символ второго аргумента.

Таблица, созданная вызовом maketrans , передается методу translate . Затем метод translate перебирает все символы своего объекта строки и проверяет, присутствуют ли они в таблице, заданной вторым аргументом. Если символ встречается в таблице преобразования, translate заменяет этот символ соответствующим преобразован-ным символом для получения преобразованной строки. При вызове translate также можно передать необязательный аргумент с симво-лами, которые должны быть удалены из строки. За подробностями обращайтесь к документации.

Другие функции модуля string решают более специализированные задачи. Метод string.lower преобразует все алфавитные символы строки к нижнему регистру, а метод upper решает обратную задачу. capitalize преобразует к верхнему регистру первый символ строки, а title делает это со всеми словами в строке. swapcase пре-образует символы нижнего регистра одной строки к верхнему, а символы верхнего регистра к нижнему. expandtabs удаляет символы табуляции в строке, заменяя каждую табуляцию заданным количеством пробелов. ljust , rjust и center допол-няют строку пробелами для ее выравнивания в поле определенной ширины. zfll дополняет числовую строку нулями слева. За подробной информацией обо всех этих методах обращайтесь к документации.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Наоми Седер читать все книги автора по порядку

Наоми Седер - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Python. Экспресс-курс отзывы


Отзывы читателей о книге Python. Экспресс-курс, автор: Наоми Седер. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x