Конспект довідника функцій та методів Python

Довідник з мови Python //docs.python.org/uk/3/reference/index.html
Python Documentation contents //docs.python.org

Василь Бульдумак "Изучаем Python 3 на примерах"(авторский сайт с многочисленными публикациями) //python-scripts.com

//

Текстова послідовність /тип str

Строки представляют собой неизменяемые последовательности кодовых точек Unicode, это значит, что изменить значение str нельзя, и методы str не изменяют str, и возвращают модифицированные копии str, которые также неизменяемы.

str.strip([chars])
Return a copy of the string with the leading and trailing characters removed. The chars argument is a string specifying the set of characters to be removed. If omitted or None, the chars argument defaults to removing whitespace. The chars argument is not a prefix or suffix; rather, all combinations of its values are stripped:

  • str.encode(encoding='utf-8', errors='strict')
  • str.isidentifier() проверяет, что значение str является допустимым идентификатором
  • str.rstrip([chars])
    Return a copy of the string with trailing characters removed. The chars argument is a string specifying the set of characters to be removed. If omitted or None, the chars argument defaults to removing whitespace. The chars argument is not a suffix; rather, all combinations of its values are stripped:
  • str.casefold() возвращает свернутую копию строки для безрегистрового сопоставления (более агрессивно, чем lower(), в отношении особых символов, как немецкая строчная буква 'ß' и эквивалент "ss")
  • str.center(width[, fillchar]) возвращает str равномерно дополненную с начала и с конца  до длины width символом fillchar (по умолчанию пробелом)
  • str.count(sub[, start[, end]]) возвращает количество непересекающихся вхождений подстроки sub в диапазоне [ начало , конец ], если sub пуст, возвращает количество пустых строк между символами, равное длине строки плюс один
  • str.endswith(suffix[, start[, end]]) повертає True, якщо двійкові дані закінчуються вказаним суфіксом, інакше False
    • suffix сттакож може бути кортежем суфіксів для пошуку
  • str.join(iterable) возвращает строку итерируемых элементов iterable, соединенных str
  • str.ljust(width[, fillchar]) возвращает str дополненную fillchar в начале (слева) до длины width
    • str.rjust(width[, fillchar])
  • str.lstrip([chars]) возвращает str
    • str.rstrip([chars])
  • str.partition(sep) делит строку в первой позции sep и возвращает кортеж трех элементов до разделителя, разделитель и после разделителя, если sep не найден, в кортеже будет str и две пустые строки
    • str.rpartition(sep)
  • str.removeprefix(prefix, /) вернет str без заданного префикса, если он будет найден
  • str.removesuffix(suffix, /) вернет str без заданного суффикса, если он будет найден
  • str.replace(old, new[, count]) вернет str, в которой old заменили new, но не более count раз
  • str.find(sub[, start[, end]])
    Return the lowest index in the string where substring sub is found within the slice s[start:end]. Optional arguments start and end are interpreted as in slice notation. Return -1 if sub is not found.
  • str.rfind(sub[, start[, end]])
  • str.split(sep=None, maxsplit=- 1)
    • str.rsplit(sep=None, maxsplit=- 1)

Тип зіставлення /dict

//

Вбудовані функції

Эти функции доступны в коде без импорта библиотеки

  • print(*objects, sep=' ', end='\n', file=None, flush=False)
    Вивести об’єкти в файл текстового потоку, розділивши sep і супроводжуючи end. sep, end, file і flush, якщо вони присутні, потрібно надати як аргументи ключового слова
  • abs(x) повертає абсолютне значення числа
  • pow(base, exp, mod=None)
    Повернути base до потужності exp; якщо присутній mod, повертає base до ступеня exp, за модулем mod (обчислюється ефективніше, ніж pow(base, exp) % mod). Форма з двома аргументами pow(base, exp) еквівалентна використанню оператора ступеня: base**exp
  • round(number, ndigits=None)
    Повертає число, округлене до nцифр з точністю після коми. Якщо ndigits опущено або має значення None, він повертає найближче ціле число до вхідних даних.
  • class range(stop)
    class range(start, stop, step=1)
    Замість того, щоб бути функцією, range насправді є незмінним типом послідовності, як описано в діапазони і Типи послідовностей — list, tuple, range.
  • reversed(seq)
    Повертає зворотний iterator. seq має бути об’єктом, який має метод __reversed__() або підтримує протокол послідовності (метод __len__() і метод __getitem__() з цілими аргументами, починаючи з 0 )
  • class slice(stop)
    class slice(start, stop, step=1)
    Повертає об’єкт slice, що представляє набір індексів, визначених діапазоном (початок, зупинка, крок). Аргументи start і step за умовчанням мають значення None. Об’єкти фрагментів мають атрибути даних лише для читання start, stop і step, які просто повертають значення аргументів (або їхнє значення за замовчуванням). Вони не мають інших явних функцій; однак вони використовуються NumPy та іншими пакетами сторонніх виробників. Об’єкти фрагментів також генеруються, коли використовується розширений синтаксис індексування. Наприклад: a[start:stop:step] або a[start:stop, i]. Перегляньте itertools.islice() альтернативну версію, яка повертає ітератор.
  • sum(iterable, /, start=0)
    Сумує start і елементи iterable зліва направо та повертає підсумок. Елементи iterable зазвичай є числами, а початкове значення не може бути рядком
  • chr(i)
    Повертає рядок, що представляє символ, кодовою точкою Unicode якого є ціле число i
  • ord(c)
    Дано рядок, що представляє один символ Unicode, повертає ціле число, що представляє код Unicode цього символу. Наприклад, ord('a') повертає ціле число 97, ord('€') (знак євро) повертає 8364. Це зворотне до chr()
  • class str(object='')
    class str(object=b'', encoding='utf-8', errors='strict')
    Повертає str версію object. Дивіться str() для деталей

Операції поверхневого та глибокого копіювання Lib/copy.py

//docs.python.org/uk/3/library/copy.html
Оператори присвоєння в Python не копіюють об’єкти складових типів, вони створюють прив’язки між метою та об’єктом. Для колекцій, які є змінними або містять змінні елементи, іноді потрібна копія, щоб можна було змінити одну копію, не змінюючи іншу. Цей модуль забезпечує загальні операції поверхневого та глибокого копіювання (пояснення нижче).

  • copy.copy(x) створює новий складений об’єкт, а потім (наскільки це можливо) вставляє в нього посилання на об’єкти, знайдені в оригіналі.
  • copy.deepcopy(x[, memo]) створює новий складений об’єкт, а потім рекурсивно вставляє в нього копії об’єктів, знайдених в оригіналі
    • memo словник об’єктів, уже скопійованих під час поточного та попередніх копіювань, та для наступних
  • exception copy.Error Піднято для конкретних помилок модуля.

Загальні рядкові операції Lib/string.py

//docs.python.org/3/library/string.html

Статические константы:

  • string.ascii_letters объединяет ascii_lowercase и ascii_uppercase
  • string.ascii_lowercase содержит 'abcdefghijklmnopqrstuvwxyz'
  • string.ascii_uppercase содержит 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
  • string.digits содержит '0123456789'
  • string.hexdigits содержит '0123456789abcdefABCDEF'
  • string.octdigits  содержит '01234567'
  • string.punctuation содержит все ASCII символы пунктуации: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
  • string.printable
  • string.whitespace содержит все пробельные ASCII: space, tab, linefeed, return, formfeed, and vertical tab

Также нет изменяемого строкового типа, но str.join()или io.StringIOможно использовать для эффективного создания строк из нескольких фрагментов.

str.find(sub[, start[, end]])
Return the lowest index in the string where substring sub is found within the slice s[start:end]. Optional arguments start and end are interpreted as in slice notation. Return -1 if sub is not found.

str.strip([chars])
Return a copy of the string with the leading and trailing characters removed. The chars argument is a string specifying the set of characters to be removed. If omitted or None, the chars argument defaults to removing whitespace. The chars argument is not a prefix or suffix; rather, all combinations of its values are stripped:

  • str.rstrip([chars])
    Return a copy of the string with trailing characters removed. The chars argument is a string specifying the set of characters to be removed. If omitted or None, the chars argument defaults to removing whitespace. The chars argument is not a suffix; rather, all combinations of its values are stripped:
  • str.casefold() возвращает свернутую копию строки для безрегистрового сопоставления (более агрессивно, чем lower(), в отношении особых символов, как немецкая строчная буква 'ß' и эквивалент "ss")
  • str.center(width[, fillchar]) возвращает копию строки str равномерно дополненную с начала и с конца  до длины width символом fillchar (по умолчанию пробелом)
  • str.count(sub[, start[, end]]) возвращает количество непересекающихся вхождений подстроки sub в диапазоне [ начало , конец ], если sub пуст, возвращает количество пустых строк между символами, равное длине строки плюс один
  • str.join(iterable) возвращает строку итерируемых элементов iterable, соединенных str
  • str.ljust(width[, fillchar]) возвращает копию строки str дополненную fillchar в начале (слева) до длины width
  • str.lstrip([chars])

Чтение и запись файлов

 //docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files

  • open(file, mode='r', buffering=- 1, encoding=None, errors=None,newline=None, closefd=True, opener=None) возвращает объект
    • mode
      • 'r' (default) open for reading
      • 'w' open for writing, truncating the file first
      • 'x' open for exclusive creation, failing if the file already exists
      • 'a' open for writing, appending to the end of file if it exists
      • 'b' binary mode
      • 't' text mode (default)
      • '+' open for updating (reading and writing)

Системные параметры и функции /sys

//docs.python.org/3/library/sys.html
Модуль обеспечивает доступ к некоторым переменным, используемым или поддерживаемым интерпретатором, а также к функциям, тесно взаимодействующим с интерпретатором.

  • sys.exit([arg]) вызывает исключение SystemExit о намерении выйти из интерпретатора, может перехватываться верхним уровнем
    • arg необязательный integer giving the exit status (defaulting t

Операції регулярних виразів Lib/re/

//docs.python.org/uk/3/library/re.html
І шаблони, і рядки для пошуку можуть бути рядками Unicode (str), а також 8-бітовими рядками (bytes). Однак рядки Unicode та 8-бітові рядки не можна змішувати: тобто ви не можете зіставити рядок Unicode з шаблоном байтів або навпаки; так само, коли запитується заміна, рядок заміни має бути того самого типу, що й шаблон, і рядок пошуку.

  • re.search(pattern, string, flags=0) перегляньте рядок, шукаючи перше розташування, де регулярний вираз шаблон створює збіг, і поверніть відповідний об’єкт відповідності. Повертає None, якщо жодна позиція в рядку не відповідає шаблону; зауважте, що це відрізняється від пошуку збігу нульової довжини в деякій точці рядка.
  • re.compile(pattern, flags=0) компілює шаблон регулярного виразу в об’єкт регулярного виразу, який можна використовувати для методів

Журналювання Lib/logging/

//docs.python.org/uk/3/library/logging.html
Модуль визначає функції та класи, які реалізують гнучку систему реєстрації подій для програм і бібліотек.

Использует пять уровней логирования:

  • Debug (10): самый низкий, для отладочных и диагностических сообщений
  • Info (20): для вывода штатных сообщений
  • Warning (30) - (по умолчанию) вывод предупреждений о событиях требующих внимания
  • Error (40) - для сообщений об ошибках
  • Critical (50) - для сообщений об очень серьёзных ошибках

Простой пример общего логирования:

 

Введение в logging на Python https://khashtamov.com/ru/python-logging/
Логирование в Python: руководство разработчика https://habr.com/ru/companies/wunderfund/articles/683880/
Логирование в Python https://python-scripts.com/logging-python

Simple API for XML (SAX)

//

API дерева элементов XML /xml.etree.ElementTree

//docs.python.org/3/library/xml.etree.elementtree.html
Модуль xml.etree.ElementTree реализует простой и эффективный API для анализа и создания XML-данных. В версии 3.3 модуль признан устаревшим.

//

 

Parsing XML

/Element

//

  • element.tag строка, идентифицирующая вид данных представляемых элементом (тип xml-элемента)
  • element.text текст находящийся непосредственно внутри парного тега элемента
  • element.tail текст находящийся непосредственно после тега
  • element.attrib словарь содержащий все атрибуты элемента

 

  • element.
  • element.
  • element.
  • find(match, namespaces=None)
    Finds the first subelement matching match. match may be a tag name or a path. Returns an element instance or None. namespaces is an optional mapping from namespace prefix to full name. Pass '' as prefix to move all unprefixed tag names in the expression into the given namespace
  • findall(match, namespaces=None)
    Finds all matching subelements, by tag name or path. Returns a list containing all matching elements in document order. namespaces is an optional mapping from namespace prefix to full name. Pass '' as prefix to move all unprefixed tag names in the expression into the given namespace.

element.attrib

Parsing XML with Namespaces /

//docs.python.org/3/library/xml.etree.elementtree.html#parsing-xml-with-namespaces
Использование в документе пространств имен вносит некоторое усложнение.

Пример демонстрирует получения элемента по имени тега и получение словаря элементов по имени тегов, при этом фактические имена тегов для сравнения выводятся. Также продемонстрировано, что подстановка из пространства имен при получения атрибута элемента по имени атрибута не реализуется:

Вывод примером фактических имен тегов:

 

///

API объектной модели документа /xml.dom

//docs.python.org/3/library/xml.dom.html

site — Site-specific configuration hook

//docs.python.org/3/library/site.html

///

//

Модули

//

NumPy - Фундаментальный пакет для научных вычислений предоставляющий мощные многомерные массивы с быстрыми и универсальными концепциями векторизации, индексации.
https://numpy.org/

PyTorch - фреймворк машинного обучения для языка Python на базе Torch с открытым исходным кодом для решения различных задач: компьютерное зрение, обработка естественного языка. Разрабатывается преимущественно группой искусственного интеллекта Facebook.
https://pytorch.org/get-started/locally/


Открытая нейросетевая библиотека Keras
Keras – открытая нейросетевая библиотека, написанная на языке Python и предназначенная для работы с сетями глубинного обучения.
Официальный сайт: https://keras.io/
Документация: https://keras.io/api/
Документация на русском: https://ru-keras.com/home/
Имя для менеджера пакетов pip: «keras».


TensorFlow Комплексная платформа машинного обучения
TensorFlow – открытая программная библиотека для машинного обучения, разработанная компанией Google для решения задач построения и тренировки нейронной сети с целью автоматического нахождения и классификации образов, достигая качества человеческого восприятия.
В TensorFlow реализован API Keras для использования его методов.
Официальный сайт: https://www.tensorflow.org
Имя для менеджера пакетов pip: «tensorflow».


Django (в рус. Джанго) – свободный фреймворк для веб-приложений на языке Python, использующий шаблон проектирования MVC
Официальный сайт: https://www.djangoproject.com
Документация: https://docs.djangoproject.com/en/3.2/
Документация на русском: https://django.fun/ru/docs/django/4.0/
Имя для менеджера пакетов pip: «django».

Микрофреймворк для веб-приложений Flask
Flask – свободный микрофреймворк для создания веб-приложений на языке программирования Python, использующий набор инструментов Werkzeug, а также шаблон проектирования Jinja2.
Официальный сайт: https://palletsprojects.com/p/flask/
Документация: https://flask.palletsprojects.com/en/2.0.x/
Документация на русском: https://flask-russian-docs.readthedocs.io/ru/latest/
Имя для менеджера пакетов pip: «flask».

Асинхронный фреймворк для веб-приложений Tornado
Tornado – расширяемый, неблокирующий веб-сервер и фреймворк, написанный на Python. Данный асинхронный фреймворк способен одновременно поддерживать множество пользовательских соединений в течение длительного времени.
Официальный сайт: https://www.tornadoweb.org/en/stable/
Документация: https://readthedocs.org/projects/tornado/downloads/
Имя для менеджера пакетов pip: «tornado».

Графический интерфейс пользователя PySide
PySide – привязка языка Python к инструментарию Qt, совместимая на уровне API с PyQt. В отличие от PyQt, PySide доступна для свободного использования как в открытых, так и закрытых, в частности, коммерческих проектах, поскольку лицензирована по LGPL. PySide поддерживает платформы: Linux, macOS и Windows.
Документация: https://doc.qt.io/qtforpython
Руководство: https://doc.qt.io/qtforpython/tutorials/index.html
Пособие для начинающих PyQt6/PySide6: https://zetcode.com/pyqt6/
Имя для менеджера пакетов pip: «pyside6».

Графический интерфейс пользователя wxPython
wxPython – удобная обёртка библиотеки кроссплатформенного графического интерфейса пользователя для Python. wxPython поддерживает платформы: Linux, macOS, Windows.
Официальный сайт: https://wxpython.org
Документация: https://docs.wxpython.org
Пособие для начинающих: https://zetcode.com/wxpython/
Имя для менеджера пакетов pip: «wxpython».

Графический интерфейс пользователя Kivy
Kivy – графический фреймворк на Python с открытым исходным кодом для быстрой разработки мобильных и других приложений, использующих инновационные пользовательские интерфейсы, такие как мультитач-приложения. Kivy поддерживает платформы: Linux, macOS, Windows, Android, iOS и Raspberry Pi.
Официальный сайт: https://kivy.org
Документация: https://kivy.org/doc/stable/
Имя для менеджера пакетов pip: «kivy».

Библиотека обработки графики Python Pillow
Python Pillow (от англ. Python Imaging Library) – форк, принятый на замену оригинальной библиотеки PIL языка Python для работы с растровой графикой.
Официальный сайт: https://python-pillow.org
Документация: https://pillow.readthedocs.io/en/stable/
Имя для менеджера пакетов pip: «pillow».

Библиотека обработки 2D-графики PyCairo
PyCairo – набор привязок python-кода для популярной графической библиотеки Cairo, которая предназначена для обработки векторной 2D-графики.
Официальный сайт: https://www.cairographics.org
Документация: https://www.cairographics.org/documentation/
Имя для менеджера пакетов pip: «pycairo».

Библиотека обработки графики scikit-image
scikit-image – это библиотека обработки изображений с открытым исходным кодом для языка программирования Python. Она реализует алгоритмы и утилиты для использования в исследовательских, образовательных и промышленных приложениях.
Официальный сайт: https://scikit-image.org
Документация: https://scikit-image.org/docs/stable/
Имя для менеджера пакетов pip: «scikit-image».

Библиотека обработки многомерных массивов NumPy
NumPy (от англ. Numerical Python) – библиотека с открытым исходным кодом для языка программирования Python, которая обеспечивает поддержку многомерных массивов (включая матрицы) и высокоуровневых математических функций, предназначенных для работы с многомерными массивами.
Официальный сайт: https://numpy.org
Документация: https://numpy.org/doc/stable/contents.html
Имя для менеджера пакетов pip: «numpy».

Библиотека визуализации данных Matplotlib
Matplotlib – библиотека на языке программирования Python, предназначенная для визуализации данных двумерной и трехмерной графикой. Получаемые изображения могут быть использованы в качестве иллюстраций в публикациях.
Официальный сайт: https://matplotlib.org/stable/index.html
Документация: https://matplotlib.org/stable/contents.html
Имя для менеджера пакетов pip: «matplotlib».

Библиотека визуализации данных Plotly
Plotly – графическая онлайн-библиотека, предназначенная для интерактивной визуализации данных.
Официальный сайт: https://plotly.com
Документация: https://plotly.com/python/
Имя для менеджера пакетов pip: «plotly».

Библиотека для научных расчетов SciPy
SciPy – это библиотека для языка программирования Python с открытым исходным кодом, предназначенная для выполнения научных и инженерных расчётов.
Официальный сайт: https://scipy.org
Документация: https://docs.scipy.org/doc/scipy/
Имя для менеджера пакетов pip: «scipy».

Библиотека обработки и анализа данных Pandas
Pandas – это программная библиотека на языке Python для обработки и анализа данных организованных в таблицы. Поддерживает чтение и сохранение файлов в форматах: csv, excel, sql, json, parquet, html, hdf5, gbq. Позволяет создавать несколько видов графиков, используя Matplotlib.
Официальный сайт: https://pandas.pydata.org
Документация: https://pandas.pydata.org/docs/
Имя для менеджера пакетов pip: «pandas».

Библиотека для машинного обучения Scikit Learn
Scikit Learn – это бесплатная библиотека машинного обучения для языка программирования Python.
Официальный сайт: https://scikit-learn.org/stable/
Имя для менеджера пакетов pip: «scikit-learn».

Библиотека компьютерного зрения OpenCV
OpenCV (от англ. Open Source Computer Vision Library) – библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым исходным кодом.
Официальный сайт: https://opencv.org
Документация: https://docs.opencv.org/4.5.1/
Имя для менеджера пакетов pip: «opencv-python».

Джерела

Василь Бульдумак "Изучаем Python 3 на примерах"(авторский сайт) //python-scripts.com

 

Leave a Reply