- •Кафедра математики и информатики Глазачев Владимир Васильевич элементы вычислительной математики и кибернетики для численного анализа поэтических текстов
- •Глава 1. Основные возможности и характеристики Python 5
- •Глава 2. Основные понятия лингвистической статистики 27
- •Глава 3. Частотные словари 51
- •Введение
- •Глава 1. Основные возможности и характеристики Python
- •Философия языка
- •История языка
- •Влияние других языков на Python
- •Портируемость
- •Установка
- •1.2. Описание Типы и структуры данных
- •Синтаксис и семантика
- •Операторы
- •Выражения
- •Строки документации
- •Директивы
- •1.3. Возможности Интерактивный режим
- •Объектно-ориентированное программирование
- •Возможности и особенности:
- •Функциональное программирование
- •Модули и пакеты
- •Интроспекция
- •Обработка исключений
- •Итераторы
- •Генераторы
- •Управление контекстом выполнения
- •Декораторы
- •1.4. Библиотеки Стандартная библиотека
- •Модули расширения и программные интерфейсы
- •Графические библиотеки
- •1.5. Недостатки Низкое быстродействие
- •Отсутствие статической типизации
- •Невозможность модификации встроенных классов
- •Глобальная блокировка интерпретатора (gil)
- •Источники
- •Глава 2. Основные понятия лингвистической статистики
- •2.1. Индексы (коэффициенты, формулы) и энтропия
- •2.2. Описание выполненной работы. Экспериментальная часть
- •2.3. Алгоритм программы
- •2.4. Реализация программы на примере корпуса текстов поэтов Золотого и Серебряного века
- •Глава 3. Частотные словари
- •3.1. Приемы составления частотных словарей лексики русских текстов
- •3.2. Оценка надежности частотного словаря.
- •3.3. Описание программы «Текстовый анализатор»
- •Заключение
- •1. Анализ корпуса текста.
- •2. Частичный разбор
- •3. Разбор (сущ, глаг, прил) (бд)
- •Список литературы:
- •Приложение а. Листинг программы
Установка
Для работы с Python в ОС Windows достаточно скачать софициального сайта последнюю актуальную версию установочного файла и выполнить установку, следуя подсказкам установщика.
Для работы с Python в UNIX подобных ОС предпочтительней воспользоваться репозиторием в котором присутствуют уже собранные пакеты. Хотя также существует возможность сборки Python из исходных кодов с официального сайта.
Наверняка в UNIX подобных ОС Python будет установлен по умолчанию.
Видео с примером работы репозитория в системе GNU/Linux.
На видео видно, что кроме самого Python'a в репозитории доступны большинство модулей для расширения возможностей языка.
1.2. Описание Типы и структуры данных
Python поддерживает динамическую типизацию, то есть тип переменной определяется только во время исполнения. Поэтому вместо «присваивания значения переменной» лучше говорить о «связывании значения с некоторым именем». В Питоне имеются встроенные типы: булевые, строки, Unicode-строки, целые числа произвольной точности, числа с плавающей точкой, комплексные числа и некоторые другие. Из коллекций Python поддерживает кортежи (tuples), списки, словари (ассоциативные массивы) и, начиная с версии 2.4, множества. Все значения в Питоне являются объектами, в том числе функции, методы, модули, классы.
Добавить новый тип можно либо написав класс (class), либо определив новый тип в модуле расширения (например, написанном на языке C). Система классов поддерживает наследование (одиночное и множественное) и метапрограммирование. Возможно наследование от большинства встроенных типов и типов расширений.
Все объекты делятся на ссылочные и атомарные. К атомарным относятся int, long, complex и некоторые другие. При присваивании атомарных объектов копируется их значение, в то время как для ссылочных копируется только указатель на объект, таким образом обе переменные после присваивания используют одно и то же значение. Ссылочные объекты бывают изменяемые и неизменяемые. Например, строки и кортежи являются неизменяемыми, а списки, словари и многие другие объекты — изменяемыми. Кортеж в Питоне является, по сути, неизменяемым списком.
Синтаксис и семантика
Язык обладает чётким и последовательным синтаксисом, продуманной модульностью и масштабируемостью, благодаря чему исходный код написанных на Питоне программ легко читаем.
Операторы
Набор операторов достаточно традиционен. Вот некоторые из них: условный оператор if (если). Альтернативный блок после else (иначе). Если условий и альтернатив несколько, можно использовать elif (сокр. от else if). оператор цикла while (пока). оператор цикла for (для). Внутри цикла возможно применение break и continue для прерывания цикла и перехода сразу к следующей итерации соответственно. оператор определения класса class. оператор определения функции, метода или генератора def. Внутри возможно применение return (возврат), а в случае генератора — yield (давать). оператор обработки исключений try — except — else или try — finally (Начиная с версии 2.5 можно использовать finally, except и else в одном блоке). оператор pass ничего не делает. Используется для пустых блоков кода.
Одной из интересных синтаксических особенностей языка является выделение блоков кода с помощью отступов (пробелов или табуляций), поэтому в Питоне отсутствуют операторные скобки begin/end как в языке Паскаль или фигурные скобки, как в Си. Такой «трюк» позволяет сократить количество строк и символов в программе и приучает к «хорошему» стилю программирования. С другой стороны, поведение и даже корректность программы может зависеть от начальных пробелов в тексте. Некоторые критики языка считают такое поведение неинтуитивным и неудобным.