Изучение языка программирования python
Скачать 61.83 Kb.
|
|
Python | 3 |
Типы и структуры данных | 5 |
Модули и Библиотеки | 6 |
Создание простого парсера | 8 |
Список используемой литературы | 9 |
Python
Python — высокоуровневый язык программирования общего назначения с динамической строгой типизацией и автоматическим управлением памятью, ориентированный на повышение производительности разработчика, читаемости кода и его качества, а также на обеспечение переносимости написанных на нём программ. Язык является полностью объектно-ориентированным в том плане, что всё является объектами. Необычной особенностью языка является выделение блоков кода пробельными отступами. Синтаксис ядра языка минималистичен, за счёт чего на практике редко возникает необходимость обращаться к документации. Сам же язык известен как интерпретируемый и используется в том числе для написания скриптов. Недостатками языка являются зачастую более низкая скорость работы и более высокое потребление памяти написанных на нём программ по сравнению с аналогичным кодом, написанным на компилируемых языках, таких как C или C++.
Python является мультипарадигмальным языком программирования, поддерживающим императивное, процедурное, структурное, объектно-ориентированное программирование, метапрограммирование и функциональное программирование. Задачи обобщённого программирования решаются за счёт динамической типизации. Аспектно-ориентированное программирование частично поддерживается через декораторы, более полноценная поддержка обеспечивается дополнительными фреймворками. Такие методики как контрактное и логическое программирование можно реализовать с помощью библиотек или расширений. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений с глобальной блокировкой интерпретатора (GIL), высокоуровневые структуры данных. Поддерживается разбиение программ на модули, которые, в свою очередь, могут объединяться в пакеты.
Эталонной реализацией Python является интерпретатор CPython, поддерживающий большинство активно используемых платформ и являющийся стандартом де-факто языка. Он распространяется под свободной лицензией Python Software Foundation License, позволяющей использовать его без ограничений в любых приложениях, включая проприетарные. CPython компилирует исходные тексты в высокоуровневый байт-код, который исполняется в стековой виртуальной машине. К другим трём основным реализациям языка относятся Jython (для JVM), IronPython (для CLR/.NET) и PyPy. PyPy написан на подмножестве языка Python (RPython) и разрабатывался как альтернатива CPython с целью повышения скорости исполнения программ, в том числе за счёт использования JIT-компиляции. Поддержка версии Python 2 закончилась в 2020 году. На текущий момент активно развивается версия языка Python 3. Разработка языка ведётся через предложения по расширению языка PEP (англ. Python Enhancement Proposal), в которых описываются нововведения, делаются корректировки согласно обратной связи от сообщества и документируются итоговые решения.
Стандартная библиотека включает большой набор полезных переносимых функций, начиная с возможностей для работы с текстом и заканчивая средствами для написания сетевых приложений. Дополнительные возможности, такие как математическое моделирование, работа с оборудованием, написание веб-приложений или разработка игр, могут реализовываться посредством обширного количества сторонних библиотек, а также интеграцией библиотек, написанных на Си или C++, при этом и сам интерпретатор Python может интегрироваться в проекты, написанные на этих языках. Существует и специализированный репозиторий программного обеспечения, написанного на Python, — PyPI. Данный репозиторий предоставляет средства для простой установки пакетов в операционную систему и стал стандартом де-факто для Python. По состоянию на 2019 год в нём содержалось более 175 тысяч пакетов.
Python стал одним из самых популярных языков, он используется в анализе данных, машинном обучении, DevOps и веб-разработке, а также в других сферах, включая разработку игр. За счёт читабельности, простого синтаксиса и отсутствия необходимости в компиляции язык хорошо подходит для обучения программированию, позволяя концентрироваться на изучении алгоритмов, концептов и парадигм. Отладка же и экспериментирование в значительной степени облегчаются тем фактом, что язык является интерпретируемым. Применяется язык многими крупными компаниями, такими как Google или Facebook. По состоянию на октябрь 2021 года Python занимает первое место в рейтинге TIOBE популярности языков программирования с показателем 11,27%. «Языком года» по версии TIOBE Python объявлялся в 2007, 2010, 2018 и 2020 годах.
Типы и структуры данных
Python поддерживает динамическую типизацию, то есть тип переменной определяется только во время исполнения. Поэтому вместо «присваивания значения переменной» лучше говорить о «связывании значения с некоторым именем». К примитивным типам в Python относятся булевый, целое число произвольной точности, число с плавающей запятой и комплексное число. Из контейнерных типов в Python встроены: строка, список, кортеж, словарь и множество. Все значения являются объектами, в том числе функции, методы, модули, классы.
Добавить новый тип можно либо написав класс (class), либо определив новый тип в модуле расширения (например, написанном на языке C). Система классов поддерживает наследование (одиночное и множественное) и метапрограммирование. Возможно наследование от большинства встроенных типов и типов расширений.
Тип | Изменяемость | Описание |
bool | Неизменяемый | Логический тип |
Bytearray | Изменяемый | Массив байтов |
Bytes | Неизменяемый | Массив байтов |
Complex | Неизменяемый | Комплексное число |
Dict | Изменяемый | Словарь (ассоциативный массив), представляет собой коллекцию пар «ключ—значение»; значение может быть любого типа, ключ должен иметь хешируемый тип |
Ellipsis | Неизменяемый | Многоточие (элипсис). Используется в основном в NumPy для сокращённого задания среза многомерного массива. В самом Python присутствует для поддержки пользовательских типов и таких расширений, как NumPy |
Float | Неизменяемый | Число с плавающей запятой. Степень точности зависит от платформы, но на практике обычно реализуется в виде 64-битного 53-разрядного числа |
Frozenset | Неизменяемый | Неупорядочное множество, не содержит дубликатов; может содержать внутри себя различные хешируемые типы данных |
Int | Неизменяемый | Целое число неограниченного размера |
List | Изменяемый | Список, может содержать внутри себя различные типы данныхс |
NoneType | Неизменяемый | Объект, представляющий собой отсутствие значения, часто называемый Null в других языках. |
NotImplementType | Неизменяемый | Объект, который возвращается при перегрузке операторов, когда типы операндов не поддерживаются. |
Range | Неизменяемый | Последовательность целых чисел от какого-то одного значения до другого, обычно используется для повторения операции несколько раз при помощи for |
Set | Изменяемый | Неупорядочное множество, не содержит дубликатов; может содержать внутри себя различные хешируемые типы данных |
Str | Неизменяемый | Строковый тип |
Tuple | Неизменяемый | Кортеж. Может содержать внутри себя различные типы данных. Может использоваться в качестве неизменяемого списка и в качестве записей с неименованными полями |
Модули и Библиотеки
Speech Recognition — это, инструмент для передачи речевых API от компаний (google, microsoft, sound hound, ibm, а также pocketsphinx), который в отличие от остальных имеет возможность работы офлайн.
Для python существует несколько пакетов которые используются в данной сфере речи, такие как apiai, assemblyai и другие, но Speech Recognition выделяется среди них довольно высокой простотой использования.
PyTTSx3 — удобная кроссплатформенная библиотека для реализации TTS в приложениях на Python 3. Использует разные системы синтеза речи в зависимости от текущей ОС:
в Windows — SAPI5,
в Mac OS X — nsss,
в Linux и на других платформах — eSpeak.
Это очень удобно: пишете код один раз и он работает везде. Кстати, eSpeak NG поддерживается наравне с исходной версией.
Requests предоставляет возможность управления HTTP-запросами при помощи языка Python. Инструментарий библиотеки широкий и рассчитан на все случаи взаимодействия с web-приложениями. Код, написанный с применением Requests, не является громоздким, легко читается, а функции и методы наглядно настраиваются под специфические нужды.
Несмотря на то, что в Python встроен модуль urllib3, обладающий сходным функционалом, практически все применяют Requests, что свидетельствует о его удобстве и простоте.
WebBrowser — это вшитый в Python модуль, который предоставляет собой высокоуровневый интерфейс, позволяющий просматривать веб-документы.
BeautifulSoup4 (bs4) - это библиотека Python для извлечения данных из файлов HTML и XML. Для естественной навигации, поиска и изменения дерева HTML, модуль BeautifulSoup4, по умолчанию использует встроенный в Python парсер html.parser. BS4 так же поддерживает ряд сторонних парсеров Python, таких как lxml, html5lib и xml (для разбора XML-документов).
Модуль os предоставляет множество функций для работы с операционной системой, причём их поведение, как правило, не зависит от ОС, поэтому программы остаются переносимыми. Здесь будут приведены наиболее часто используемые из них.
Модуль re предоставляет полную поддержку выражениям, подобным Perl в Python. Модуль re поднимает исключение re.error, если возникает ошибка при компиляции или использовании регулярного выражения.
Регулярные выражения — специальная последовательность символов, которая помогает сопоставлять или находить строки python с использованием специализированного синтаксиса, содержащегося в шаблоне. Регулярные выражения распространены в мире UNIX.
Модуль glob находит все пути, совпадающие с заданным шаблоном в соответствии с правилами, используемыми оболочкой Unix. Обрабатываются символы "*" (произвольное количество символов), "?" (один символ), и диапазоны символов с помощью []. Для использования тильды "" и переменных окружения необходимо использовать os.path.expanduser() и os.path.expandvars().
PyAudio - это библиотека предоставляет возможность записи аудио(звука) с помощью Python. PyAudio записывает полученный аудио поток в объекты типа bytes. В последующем данные могут быть сохранены в виде файлов WAV с использованием таких библиотек как scipy или wave соответственно. Для того что бы записать звук например с микрофона, нам надо определить идентификатор используемого устройства, в нашем случае микрофона.
Создание простого парсера
Данный парсер ищет перевод написанного слова на сайте “LingvoLive.com”
Для создание простого парсера потребуются несколько библиотек
Requests
Beautifulsoup4
Lxml
Установка библиотек
В терминале прописываем:
Импортируем библиотеки
Url сайта для парсинга
Ввод слова которое необходимо перевести
Поиск перевода на странице
Результат программы:
Список используемой литературы
https://smartiqa.ru/blog/python-requests
https://gb.ru/posts/tts_python
https://habr.com/ru/post/577806/
https://habr.com/ru/post/470938/
https://ru.wikipedia.org/wiki/Python
https://pythonru.com/osnovy/modul-re-dlja-reguljarnyh-vyrazhenij-v-python
https://pythonworld.ru/moduli/modul-glob.html
https://blog-programmista.ru/post/103-python-ispolzuem-pyaudio-dla-zapisi-zvuka.html