Модуль SymPy
Модуль SymPy — это мощная и простая в использовании библиотека для выполнения символьных вычислений на Python.
Установка библиотеки:
#библиотеки | @PyMapChannel
Модуль SymPy — это мощная и простая в использовании библиотека для выполнения символьных вычислений на Python.
Она предоставляет широкий спектр функций, которые применяются в сфере символьных вычислений, математического анализа, алгебры, дискретной математики, физике и так далее. SymPy может представлять результат в разных форматах: LaTeX, MathML и так далее.
Установка библиотеки:
pip install sympy
#библиотеки | @PyMapChannel
🔥3✍1
Объект Ellipsis "..."
Вот самые распространенные варианты его использования:
• В качестве содержимого для функции или класса, которых вы еще не реализовали:
• В аннотациях типов для указания возвращаемого типа вызываемого объекта без указания сигнатуры вызова, заменив список аргументов на "...":
• В аннотациях типов для указания однородных кортежей одного типа произвольной длины :
• В NumPy для создания срезов в многомерных структур данных:
#практика | @PyMapChannel
Ellipsis в Python - это специальный объект, который обозначается тремя точками "..." и используется в Python в различных контекстах.
Вот самые распространенные варианты его использования:
• В качестве содержимого для функции или класса, которых вы еще не реализовали:
class MyClass:
def method(self):
# Этот код пока не реализован
...
• В аннотациях типов для указания возвращаемого типа вызываемого объекта без указания сигнатуры вызова, заменив список аргументов на "...":
from typing import Callable
def my_fn(func: Callable[..., str], *args) -> Callable[..., str]:
...
• В аннотациях типов для указания однородных кортежей одного типа произвольной длины :
from typing import Tuple
def my_fn(arg: Tuple[int, ...]) -> None:
...
• В NumPy для создания срезов в многомерных структур данных:
from numpy import arange
arr = arange(16).reshape(2, 2, 2, 2)
arr[..., 0].flatten()
# Эквивалентно
arr[:,:,:, 0].flatten()
#практика | @PyMapChannel
🤯1
Модуль math: объект nan
Константа math.nan это особый объект типа float, который называется NaN (Not a Number). Можно также создать с помощью
Для проверки соответствия числа NaN, необходимо использовать функцию
#практика | @PyMapChannel
Константа math.nan это особый объект типа float, который называется NaN (Not a Number). Можно также создать с помощью
float("nan")
.NaN представляет собой не число, а специальное значение, которое используется для указания на то, что математическая операция не определена или результат не является числом. Эти объекты не равны никакому другому числовому значению, включая самих себя.
Для проверки соответствия числа NaN, необходимо использовать функцию
math.isnan()
вместо операторов is
или ==
.#практика | @PyMapChannel
Модуль zipfile
Встроенный модуль zipfile в Python обеспечивает широкие возможности работы с ZIP-архивами, включая создание, чтение, запись, добавление и просмотр содержимого файлов в архиве ZIP.
Этот код полезен при необходимости просмотра содержимого архива ZIP и извлечения всех файлов из него.
🐍 Python Map | Обучение
Встроенный модуль zipfile в Python обеспечивает широкие возможности работы с ZIP-архивами, включая создание, чтение, запись, добавление и просмотр содержимого файлов в архиве ZIP.
В этом примере мы используем метод printdir(), чтобы вывести содержимое архива в консоль, показывая имена, дату создания и размер всех файлов и папок внутри него.
После этого мы вызываем метод extractall(), который извлекает все файлы из архива в текущую директорию, где расположен скрипт Python.
Этот код полезен при необходимости просмотра содержимого архива ZIP и извлечения всех файлов из него.
🐍 Python Map | Обучение
✍2🤯2❤1👍1
😎 Отображение смайлов в Python
Использование Unicode:
Каждый смайл имеет уникальный код в стандарте Unicode. Вы можете использовать комбинацию
Использование коротких имен CLDR:
Помимо Unicode, смайлы также имеют короткие имена CLDR (Common Locale Data Repository), которые можно использовать с комбинацией
💾 Список смайлов (имя + Unicode)
🐍 Python Map | Обучение
Использование Unicode:
Каждый смайл имеет уникальный код в стандарте Unicode. Вы можете использовать комбинацию
\U
и этого кода для отображения смайлов непосредственно в вашем коде.Использование коротких имен CLDR:
Помимо Unicode, смайлы также имеют короткие имена CLDR (Common Locale Data Repository), которые можно использовать с комбинацией
\N
. 💾 Список смайлов (имя + Unicode)
🐍 Python Map | Обучение
😎2🔥1
Модуль spellchecker
Модуль spellchecker в Python — это удобный инструмент, предназначенный для выполнения проверки орфографии текста.
Основные возможности:
Установка библиотеки:
Также есть возможность загрузить дополнительные слова в словарь, чтобы они не помечались как ошибочные.
🐍 Python Map | Обучение
Модуль spellchecker в Python — это удобный инструмент, предназначенный для выполнения проверки орфографии текста.
Основные возможности:
1. Проверка слов: определяет, есть ли написанное слово в словаре.
2. Исправление ошибок: предлагает варианты исправления для неверно написанных слов.
3. Поддержка языков: библиотека поддерживает несколько языков, в зависимости от загруженных словарей.
Установка библиотеки:
pip install pyspellchecker
Также есть возможность загрузить дополнительные слова в словарь, чтобы они не помечались как ошибочные.
🐍 Python Map | Обучение
Модуль inspect: функция getmodule
Функция getmodule из модуля inspect позволяет получить модуль, в котором определен переданный объект (функция, класс, метод или экземпляр).
Функция возвращает объект модуля, в котором определён указанный объект. Если объект не принадлежит ни одному модулю (например, был создан динамически), функция может вернуть None.
🐍 Python Map | Обучение
Функция getmodule из модуля inspect позволяет получить модуль, в котором определен переданный объект (функция, класс, метод или экземпляр).
Это особенно полезно, когда вы работаете с множеством импортированных модулей и нужно понять, откуда поступила конкретная функция или класс.
Функция возвращает объект модуля, в котором определён указанный объект. Если объект не принадлежит ни одному модулю (например, был создан динамически), функция может вернуть None.
🐍 Python Map | Обучение
🔥2⚡1👍1
Модуль prettytable
Модуль prettytable в Python используется для создания и отображения красивых ASCII таблиц в консольных приложениях.
Кроме того, библиотека поддерживает чтение данных из CSV, HTML или курсора базы данных.
Установка библиотеки:
🐍 Python Map | Обучение
Модуль prettytable в Python используется для создания и отображения красивых ASCII таблиц в консольных приложениях.
Он позволяет удобно форматировать таблицы, добавляя строки, столбцы и настраивая различные аспекты отображения.
Кроме того, библиотека поддерживает чтение данных из CSV, HTML или курсора базы данных.
Установка библиотеки:
pip install prettytable
🐍 Python Map | Обучение
🔥3⚡1
Деструктурирующее присваивание
Оператор присваивания в Python поддерживает множественное присваивание с помощью синтаксиса списков или кортежей, используя любой итерируемый объект с нужным количеством элементов.
В качестве крайнего случая синтаксис также позволяет указывать списки присвоения нулевой длины.
Левая и правая части
🐍 Python Map | Обучение
Оператор присваивания в Python поддерживает множественное присваивание с помощью синтаксиса списков или кортежей, используя любой итерируемый объект с нужным количеством элементов.
a, b = range(2)
# a = 0, b = 1
(a, b) = {1: "one", 2: "two"}
# a = 1, b = 2
[a, b] = {3, 5}
# a = 4, b = 5
Левая сторона не является реальным кортежем или списком, а задает структуру для объектов a и b, подобно сопоставлению с шаблоном.
a, b = 42, [16, 72]
# a = 46, b = [16, 72]
c, [d] = 42, [16, 72]
# ValueError: too many values to unpack (expected 1)
Таким образом, множественное присваивание выполняет две задачи: присваивает значения и проверяет количество элементов.
В качестве крайнего случая синтаксис также позволяет указывать списки присвоения нулевой длины.
[] = []
Левая и правая части
[]
- это принципиально разные вещи. Правая часть … = []
обозначает фактический список без элементов. Левая часть [] = …
просто обозначает "нулевые имена".🐍 Python Map | Обучение
👍2🤯2
Модуль pyscreenshot
На картинке показан пример, как сделать скриншот всего экрана и сохранить его в файл.
Установка библиотеки:
🐍 Python Map | Обучение
Pyscreenshot — кроссплатформенная библиотека для создания скриншотов в Python, поддерживающая Windows, macOS и Linux. Она легко интегрируется с другими модулями и предлагает удобный интерфейс для захвата изображений.На картинке показан пример, как сделать скриншот всего экрана и сохранить его в файл.
Установка библиотеки:
pip install pyscreenshot
🐍 Python Map | Обучение
Модуль pickle
Модуль pickle в Python предоставляет средства для сериализации и десериализации объектов, что позволяет сохранять их в файл или передавать через сеть. Сериализация — это преобразования объекта в поток байтов. Десериализация — это обратный процесс.
Основные функции модуля:
1.
2.
3.
4.
🐍 Python Map | Обучение
Модуль pickle в Python предоставляет средства для сериализации и десериализации объектов, что позволяет сохранять их в файл или передавать через сеть. Сериализация — это преобразования объекта в поток байтов. Десериализация — это обратный процесс.
Основные функции модуля:
1.
pickle.dump(obj, file)
: Сериализует объект obj
и записывает его в открытый файл file
.2.
pickle.load(file)
: Загружает объект из файла file
, десериализуя его в исходный объект Python.3.
pickle.dumps(obj)
: Сериализует объект obj
и возвращает его в виде байтовой строки.4.
pickle.loads(bytes)
: Десериализует объект из байтовой строки bytes
.Модуль pickle — это удобный и мощный способ сериализации и десериализации объектов в Python.
🐍 Python Map | Обучение
✍3
Константы модуля string
Модуль string в Python предоставляет ряд полезных констант, которые помогают работать со строками более эффективно и удобно.
➡️ Основной список:
1.
2.
3.
4.
5.
6.
➡️ Пример использования:
🐍 Python Map | Обучение
Модуль string в Python предоставляет ряд полезных констант, которые помогают работать со строками более эффективно и удобно.
➡️ Основной список:
1.
string.ascii_letters
: Содержит все буквы английского алфавита (как заглавные, так и строчные).2.
string.digits
: Включает все десятичные цифры от 0 до 9.3.
string.hexdigits
: Содержит шестнадцатеричные цифры (0-9 и a-f, A-F).4.
string.octdigits
: Включает восьмеричные цифры (0-7).5.
string.punctuation
: Содержит все знаки пунктуации.6.
string.whitespace
: Включает все пробельные символы (пробелы, табуляции и переносы строк).➡️ Пример использования:
import string
# Функция проверяет, состоит ли строка только из букв
def is_alpha(s):
return all(char in string.ascii_letters for char in s)
# Тестируем функцию
print(is_alpha("HelloWorld")) # Вывод: True
print(is_alpha("Hello World!")) # Вывод: False
Константы из модуля string значительно упрощают обработку строк и могут быть использованы в различных алгоритмах, таких как валидация ввода, фильтрация символов и т.д.
🐍 Python Map | Обучение
🔥3💯1
Взаимодействие с файлами в Python
Python предоставляет мощные возможности для работы с файлами, что позволяет программам читать, записывать и обрабатывать текстовые и двоичные данные.
Открытие файла
Для открытия файла используйте функцию
Где режим может быть:
-
-
-
-
Чтение из файла
- read(размер) - читает заданное количество байтов или весь файл
- readline() - читает одну строку файла
- readlines() - читает список всех строк файла
Запись в файл
- write(данные) - записывает данные в файл
- writelines(список) - записывает список строк в файл
Другие операции
- close() - закрывает файл
- seek(смещение, откуда) - устанавливает указатель чтения/записи
- tell() - возвращает текущее положение указателя
Пример: считывание файла
Пример: запись в файл
Обработка исключений
Python обрабатывает исключения, связанные с файлами, с помощью следующих классов:
FileNotFoundError: файл не найден
PermissionError: нет разрешения на открытие файла
IOError: общая ошибка ввода-вывода.
Закрытие файла
Важно закрывать файлы после их использования, чтобы избежать утечек ресурсов:
Использование контекстного менеджера with автоматически закроет файл, когда блок кода завершится.
🐍 Python Map | Обучение
Python предоставляет мощные возможности для работы с файлами, что позволяет программам читать, записывать и обрабатывать текстовые и двоичные данные.
Открытие файла
Для открытия файла используйте функцию
open()
. Вот синтаксис:file = open('имя_файла.txt', 'режим')
Где режим может быть:
-
'r'
- чтение (по умолчанию)-
'w'
- запись (создает новый файл или перезаписывает существующий)-
'a'
- добавление (добавляет данные в конец файла)-
'b'
- двоичный режим (например, 'rb'
для чтения двоичных файлов).Чтение из файла
- read(размер) - читает заданное количество байтов или весь файл
- readline() - читает одну строку файла
- readlines() - читает список всех строк файла
Запись в файл
- write(данные) - записывает данные в файл
- writelines(список) - записывает список строк в файл
Другие операции
- close() - закрывает файл
- seek(смещение, откуда) - устанавливает указатель чтения/записи
- tell() - возвращает текущее положение указателя
Пример: считывание файла
with open('my_file.txt', 'r') as f:
for line in f:
print(line)
Пример: запись в файл
with open('my_file.txt', 'w') as f:
f.write('Это строка, записанная в файл.')
Обработка исключений
Python обрабатывает исключения, связанные с файлами, с помощью следующих классов:
FileNotFoundError: файл не найден
PermissionError: нет разрешения на открытие файла
IOError: общая ошибка ввода-вывода.
try:
with open('несуществующий_файл.txt', 'r') as file:
content = file.read()
except FileNotFoundError:
print("Файл не найден.")
Закрытие файла
Важно закрывать файлы после их использования, чтобы избежать утечек ресурсов:
file.close()
Использование контекстного менеджера with автоматически закроет файл, когда блок кода завершится.
🐍 Python Map | Обучение
🔥2👍1🏆1
📄 Модуль logging
Логирование — ключевой аспект разработки, позволяющий отслеживать состояние приложения и выявлять проблемы. В Python для этого часто используется встроенный модуль
Основные возможности
- Записывать сообщения разного уровня важности (
- Конфигурировать формат сообщений, включая временные метки, уровень логирования и текст сообщения.
- Записывать логи не только в консоль, но и в файлы, сетевые сокеты и даже базы данных.
Пример простого приложения с логированием
Объяснение кода
1. Импорт модуля: Сначала импортируется модуль
2. Настройка логирования:
3. Функция: В функции
Вывод логов
После выполнения программы в консоли и в файле
🐍 Python Map | Обучение
Логирование — ключевой аспект разработки, позволяющий отслеживать состояние приложения и выявлять проблемы. В Python для этого часто используется встроенный модуль
logging
, который предлагает гибкие механизмы записи логов. В этом посте мы рассмотрим, как его настроить.Основные возможности
- Записывать сообщения разного уровня важности (
DEBUG
, INFO
, WARNING
, ERROR
, и CRITICAL
).- Конфигурировать формат сообщений, включая временные метки, уровень логирования и текст сообщения.
- Записывать логи не только в консоль, но и в файлы, сетевые сокеты и даже базы данных.
Пример простого приложения с логированием
import logging
# Настройка логирования
logging.basicConfig(
level=logging.DEBUG, # Устанавливаем уровень логирования
format='%(asctime)s - %(levelname)s - %(message)s', # Формат сообщения
handlers=[
logging.FileHandler("app.log"), # Запись логов в файл
logging.StreamHandler() # Вывод логов в консоль
]
)
# Примеры логирования
def main():
logging.debug("Это отладочное сообщение.")
logging.info("Приложение запущено.")
try:
result = 10 / 0 # Исключение
except ZeroDivisionError:
logging.error("Деление на ноль произошло.", exc_info=True) # Логируем ошибку
logging.warning("Это предупреждающее сообщение.")
logging.info("Приложение завершено.")
if __name__ == "__main__":
main()
Объяснение кода
1. Импорт модуля: Сначала импортируется модуль
logging
.2. Настройка логирования:
basicConfig
настраивает уровень логирования и формат сообщений. Логи будут выводиться как в файл app.log
, так и в консоль.3. Функция: В функции
main
записываются информационные и ошибочные сообщения, что позволяет отслеживать поведение программы.Вывод логов
После выполнения программы в консоли и в файле
app.log
вы увидите записи, которые будут выглядеть примерно так:2024-09-14 11:05:02,123 - DEBUG - Это отладочное сообщение.
2024-09-14 11:05:02,124 - INFO - Приложение запущено.
2024-09-14 11:05:02,125 - ERROR - Деление на ноль произошло.
Traceback (most recent call last):
File "app.py", line 10, in main
result = 10 / 0
ZeroDivisionError: division by zero
2024-09-14 11:05:02,126 - WARNING - Это предупреждающее сообщение.
2024-09-14 11:05:02,127 - INFO - Приложение завершено.
🐍 Python Map | Обучение
😎5⚡1🔥1