My-library.info
Все категории

Роман Сузи - Язык программирования Python

На электронном книжном портале my-library.info можно читать бесплатно книги онлайн без регистрации, в том числе Роман Сузи - Язык программирования Python. Жанр: Программирование издательство неизвестно, год 2004. В онлайн доступе вы получите полную версию книги с кратким содержанием для ознакомления, сможете читать аннотацию к книге (предисловие), увидеть рецензии тех, кто произведение уже прочитал и их экспертное мнение о прочитанном.
Кроме того, в библиотеке онлайн my-library.info вы найдете много новинок, которые заслуживают вашего внимания.

Название:
Язык программирования Python
Автор
Издательство:
неизвестно
ISBN:
нет данных
Год:
неизвестен
Дата добавления:
17 сентябрь 2019
Количество просмотров:
354
Текст:
Ознакомительная версия
Читать онлайн
Роман Сузи - Язык программирования Python

Роман Сузи - Язык программирования Python краткое содержание

Роман Сузи - Язык программирования Python - описание и краткое содержание, автор Роман Сузи, читайте бесплатно онлайн на сайте электронной библиотеки My-Library.Info
Курс посвящен одному из бурно развивающихся и популярных в настоящее время сценарных языков программирования — Python. Язык Python позволяет быстро создавать как прототипы программных систем, так и сами программные системы, помогает в интеграции программного обеспечения для решения производственных задач. Python имеет богатую стандартную библиотеку и большое количество модулей расширения практически для всех нужд отрасли информационных технологий. Благодаря ясному синтаксису изучение языка не составляет большой проблемы. Написанные на нем программы получаются структурированными по форме, и в них легко проследить логику работы. На примере языка Python рассматриваются такие важные понятия как: объектно–ориентированное программирование, функциональное программирование, событийно–управляемые программы (GUI–приложения), форматы представления данных (Unicode, XML и т.п.). Возможность диалогового режима работы интерпретатора Python позволяет существенно сократить время изучения самого языка и перейти к решению задач в соответствующих предметных областях. Python свободно доступен для многих платформ, а написанные на нем программы обычно переносимы между платформами без изменений. Это обстоятельство позволяет применять для изучения языка любую имеющуюся аппаратную платформу.

Язык программирования Python читать онлайн бесплатно

Язык программирования Python - читать книгу онлайн бесплатно, автор Роман Сузи
Конец ознакомительного отрывкаКупить книгу

Ознакомительная версия.

possibilities

Список возможных вариантов.

n

Требуемое количество ближайших строк.

cutoff

Коэффициент (из диапазона [0, 1]) необходимого уровня совпадения строк. Строки, которые при сравнении с word дают меньшее значение, игнорируются.

Следующий пример показывает функцию difflib.get_close_matches() в действии:

>>> import unicodedata

>>> names = [unicodedata.name(unicode(chr(i))) for i in range(40, 127)]

>>> print difflib.get_close_matches("LEFT BRACKET", names)

['LEFT CURLY BRACKET', 'LEFT SQUARE BRACKET']

В списке names — названия Unicode–символов с ASCII–кодами от 40 до 127.

Регулярные выражения

Рассмотренных стандартных возможностей для работы с текстом достаточно далеко не всегда. Например, в методах find() и replace() задается всего одна строка. В реальных задачах такая однозначность встречается довольно редко, чаще требуется найти или заменить строки, отвечающие некоторому шаблону.

Регулярные выражения (regular expressions) описывают множество строк, используя специальный язык, который сейчас и будет рассмотрен. (Строка, в которой задано регулярное выражение, будет называться шаблоном.)

Для работы с регулярными выражениями в Python используется модуль re. В следующем примере регулярное выражение помогает выделить из текста все числа:

>>> import re

>>> pattern = r"[0–9]+"

>>> number_re = re.compile(pattern)

>>> number_re.findall("122 234 65435")

['122', '234', '65435']

В этом примере шаблон pattern описывает множество строк, которые состоят из одного или более символов из набора «0», «1» , …, «9» . Функция re.compile() компилирует шаблон в специальный Regex–объект, который имеет несколько методов, в том числе метод findall() для получения списка всех непересекающихся вхождений строк, удовлетворяющих шаблону, в заданную строку.

То же самое можно было сделать и так:

>>> import re

>>> re.findall(r"[0–9]+", "122 234 65435")

['122', '234', '65435']

Предварительная компиляция шаблона предпочтительнее при его частом использовании, особенно внутри цикла.

Примечание:

Следует заметить, что для задания шаблона использована необработанная строка. В данном примере она не требовалась, но в общем случае лучше записывать строковые литералы именно так, чтобы исключить влияние специальных последовательностей, записываемых через обратную косую черту.

Синтаксис регулярного выражения

Синтаксис регулярных выражений в Python почти такой же, как в Perl, grep и некоторых других инструментах. Часть символов (в основном буквы и цифры) обозначают сами себя. Строка удовлетворяет (соответствует) шаблону, если она входит во множество строк, которые этот шаблон описывает.

Здесь стоит также отметить, что различные операции используют шаблон по–разному. Так, search() ищет первое вхождение строки, удовлетворяющей шаблону, в заданной строке, а match() требует, чтобы строка удовлетворяла шаблону с самого начала.

Символы, имеющие специальное значение в записи регулярных выражений:

Символ Что обозначает в регулярном выражении "." Любой символ "^" Начало строки "$" Конец строки "*" Повторение фрагмента нуль или более раз (жадное) "+" Повторение фрагмента один или более раз (жадное) "?" Предыдущий фрагмент либо присутствует, либо отсутствует "{m,n}" Повторение предыдущего фрагмента от m до n раз включительно (жадное) "[...]" Любой символ из набора в скобках. Можно задавать диапазоны символов с идущими подряд кодами, например: a–z "[^...]" Любой символ не из набора в скобках "" Обратная косая черта отменяет специальное значение следующего за ней символа "|" Фрагмент справа или фрагмент слева "*?" Повторение фрагмента нуль или более раз (не жадное) "+?" Повторение фрагмента один или более раз (не жадное) "{m,n}?" Повторение предыдущего фрагмента от m до n раз включительно (не жадное) 

Если A и B — регулярные выражения, то их конкатенация AB является новым регулярным выражением, причем конкатенация строк a и b будет удовлетворять AB, если a удовлетворяет A и b удовлетворяет B. Можно считать, что конкатенация — основной способ составления регулярных выражений.

Скобки, описанные ниже, применяются для задания приоритетов и выделения групп (фрагментов текста, которые потом можно получить по номеру или из словаря, и даже сослаться в том же регулярном выражении).

Алгоритм, который сопоставляет строки с регулярным выражением, проверяет соответствие того или иного фрагмента строки регулярному выражению. Например, строка «a» соответствует регулярному выражению «[a–z]», строка «fruit» соответствует «fruit|vegetable», а вот строка «apple» не соответствует шаблону «pineapple».

В таблице ниже вместо регвыр может быть записано регулярное выражение, вместо имя — идентификатор, а флаги будут рассмотрены ниже.

Обозначение Описание "(регвыр)" Обособляет регулярное выражение в скобках и выделяет группу "(?:регвыр)" Обособляет регулярное выражение в скобках без выделения группы "(?=регвыр)" Взгляд вперед: строка должна соответствовать заданному регулярному выражению, но дальнейшее сопоставление с шаблоном начнется с того же места "(?!регвыр)" То же, но с отрицанием соответствия "(?<=регвыр)" Взгляд назад: строка должна соответствовать, если до этого момента соответствует регулярному выражению. Не занимает места в строке, к которой применяется шаблон. Параметр регвыр должен быть фиксированной длины (то есть, без «+» и "*") "(?<!регвыр)" То же, но с отрицанием соответствия "(?P<имя>регвыр)" Выделяет именованную группу с именем имя "(?P=имя)" Точно соответствует выделенной ранее именованной группе с именем имя "(?#регвыр)" Комментарий (игнорируется) "(?(имя)рв1|рв2)" Если группа с номером или именем имя оказалась определена, результатом будет сопоставление с рв1, иначе — c рв2. Часть |рв2 может отсутствовать "(?флаг)" Задает флаг для всего данного регулярного выражения. Флаги необходимо задавать в начале шаблона

В таблице ниже описаны специальные последовательности, использующие обратную косую черту:

Последовательность Чему соответствует "1"–"9" Группа с указанным номером. Группы нумеруются, начиная с 1 "A" Промежуток перед началом всей строки (почти аналогично "^") "Z" Промежуток перед концом всей строки (почти аналогично "$") "b" Промежуток между символами перед словом или после него "B" Наоборот, не соответствует промежутку между символами на границе слова "d" Цифра. Аналогично «[0–9]» "s" Любой пробельный символ. Аналогично «[tnrfv]» "S" Любой непробельный символ. Аналогично «[^tnrfv]» "w" Любая цифра или буква (зависит от флага LOCALE) "W" Любой символ, не являющийся цифрой или буквой (зависит от флага LOCALE)

Флаги, используемые с регулярными выражениями:

"(?i)", re.I, re.IGNORECASE

Сопоставление проводится без учета регистра букв.

"(?L)", re.L, re.LOCALE

Влияет на определение буквы в "w", "W", "b", "B" в зависимости от текущей культурной среды (locale).

"(?m)", re.M, re.MULTILINE

Ознакомительная версия.


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

Роман Сузи - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки My-Library.Info.


Язык программирования Python отзывы

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

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.