Python Map | Обучение
246 subscribers
196 photos
4 videos
1 file
85 links
Образовательный канал для программистов на Python 🐍

Сотрудничество – @HackingIP
Download Telegram
Потоковый ввод sys.stdin

🐍 Потоковый ввод в Python, очень полезный приём, когда вы не знаете сколько строк может вводить пользователь.

#практика #продвинутый_уровень | @PyMapChannel
🔥4🏆1
Методы str.lower() и str.upper()

Метод строк lower() преобразует все символы в нижний регистр, а метод upper() делает все символы в строке заглавными. Методы возвращают новую строку, не изменяя исходную.

Эти методы очень удобны для сравнения строк без учета регистра.

#практика #это_база | @PyMapChannel
Модуль art: функция tprint()

Функция tprint() из модуля art предназначена для вывода текста в виде ASCII-арт. Она позволяет указать текст, а также выбрать стиль, в котором этот текст должен быть отображен.

Синтаксис:

tprint(text,
font: str = DEFAULT_FONT,
chr_ignore: bool = True,
decoration: Any | None = None,
sep: str = "\n",
space: int = 0)

где:
text - строка текста, который вы хотите вывести;
font - стиль шрифта
chr_ignore - игнорирование неподдерживаемых символов
decoration - оформление текста
sep - символ-разделитель строк
space - расстояние между символами


Узнать все доступные шрифты и оформления:
art.font_list()
art.decor_list()

Установка библиотеки:
pip install art


#библиотеки | @PyMapChannel
🆒5
Оператор * для упаковки и распаковки коллекций

⚡️ Оператор * для упаковки и распаковки коллекций предоставляет удобные способы работы с данными переменной длины и упрощает работу с итерируемыми объектами.

Накидайте максимум реакций)

#практика #это_база #статьи | @PyMapChannel
👍5
Функция filter()

Функция filter() в Python используется для фильтрации (отбора) элементов последовательности, основываясь на заданном условии.

Синтаксис:

filter(function, iterable)

где:
function - функция, которая возвращает True или False для каждого элемента в итерируемом объекте;
iterable - итерируемый объект, в котором производится фильтрация.


Функция filter() возвращает итератор, содержащий элементы, для которых функция возвращает True.

Как правило, вместо filter можно использовать генераторы списков.

#практика #это_база | @PyMapChannel
👍42
Модуль textwrap: функция wrap

Функция wrap() модуля textwrap разбивает один абзац (строку) text по строкам так, что каждая строка имеет не более width символов в длину. Возвращает список строк, без завершающего символа новой строки \n.

Синтаксис:

textwrap.fill(text, width=70, **kwargs)

где:
text - строка, которую вы хотите отформатировать
width - максимальная ширина отформатированной строки (по умолчанию 70 символов)

**kwargs - необязательные аргументы класса TextWrapper, такие как initial_indent, subsequent_indent, expand_tabs и другие, которые управляют поведением форматирования.


Установка библиотеки:
pip install textwrap3


#библиотеки | @PyMapChannel
3👍1
Сжатие изображений

Этот код позволяет, используя библиотеку PIL (Python Imaging Library), открыть исходное изображение из файла "original.png" и сохранить сжатую и оптимизированную версию изображения в файл "compressed.png".

Дополнительно, этот код выводит размер файла исходного и модифицированного изображения в килобайтах (Кб).

Параметр optimize=True, метода Image.save указывает на использование оптимизации для сжатия файла изображения с минимальной потерей качества.

Также можно указать необязательный параметр quality, определяющий процентное значение качества сжатия от 0 до 100 (по умолчанию 75). что позволяет балансировать между качеством и размером файла.


Установка библиотеки:
pip install pillow


#практика | @PyMapChannel
«Странное» поведение % в Python

В отличие от C, Java или JS, оператор остатка от деления нацело % в Python всегда возвращает число, имеющее тот же знак, что и делитель.

Иногда это может давать «странный» результат при работе с отрицательными числами.

К примеру, сколько будет -5 % 4 ?
В ответе будет: 3 # вместо ожидаемого -1

Объяснение:
В Python оператор % работает следующим образом
mod = n - math.floor(n / base) * base

Для вопроса выше выше:
mod = -5 - math.floor(-1.25) * 4
mod = -5 - (-2*4)
mod = 3


В то время как другие языки используют усечение (int), вместо округления вниз (math.floor):
mod = n - int(n / base) * base

Что приводит к:
mod = -5 - int(-1.25) * 4
mod = -5 - (-1*4)
mod = -1


Ставьте «❤️»


#теория | @PyMapChannel
5🤓2
Python Map | Обучение
«Странное» поведение % в Python В отличие от C, Java или JS, оператор остатка от деления нацело % в Python всегда возвращает число, имеющее тот же знак, что и делитель. Иногда это может давать «странный» результат при работе с отрицательными числами. К…
Такое поведение выбрано вместо поведения C, потому что неотрицательный результат часто более полезен.

Примером может служить вычисление дней недели. Если сегодня вторник (день № 2), какой день недели будет за N дней до этого? В Python мы можем вычислять с помощью:
return (2 - N) % 7


Но в C, если N ≥ 3, мы получаем отрицательное число, которое является недопустимым числом, и нам нужно вручную исправить это, добавив 7:
int result = (2 - N) % 7;
return result < 0 ? result + 7 : result;


#теория | @PyMapChannel
👍1
Модуль secrets

Модуль secrets в Python предоставляет функции для генерации криптографически безопасных случайных чисел, строк и выборов из последовательностей.

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

Модуль secrets следует использовать вместо генератора псевдослучайных чисел модуля random, который в свою очередь предназначен для моделирования и симуляции, а не для защиты или криптографии.

#библиотеки | @PyMapChannel
🔥6
Функция isinstance()

Функция isinstance() в Python позволяет проверить, является ли объект экземпляром определенного класса или его подклассом.

Она вернет True, если проверяемый объект object является экземпляром любого указанного в classinfo класса (классов) или его подкласса.

Синтаксис:

isinstance(object, classinfo)

где:
object - объект, который нужно проверить;
classinfo - класс или кортеж классов, к которым мы хотим проверить принадлежность объекта.


Начиная с Python 3.10, аргументом classinfo может быть объединением нескольких классов, например, int | str.

#практика | @PyMapChannel
41
Модуль SymPy

Модуль SymPy — это мощная и простая в использовании библиотека для выполнения символьных вычислений на Python.

Она предоставляет широкий спектр функций, которые применяются в сфере символьных вычислений, математического анализа, алгебры, дискретной математики, физике и так далее. SymPy может представлять результат в разных форматах: LaTeX, MathML и так далее.


Установка библиотеки:
pip install sympy


#библиотеки | @PyMapChannel
🔥31
Объект Ellipsis "..."

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). Можно также создать с помощью float("nan").

NaN представляет собой не число, а специальное значение, которое используется для указания на то, что математическая операция не определена или результат не является числом. Эти объекты не равны никакому другому числовому значению, включая самих себя.


Для проверки соответствия числа NaN, необходимо использовать функцию math.isnan() вместо операторов is или ==.

#практика | @PyMapChannel
Модуль zipfile

Встроенный модуль zipfile в Python обеспечивает широкие возможности работы с ZIP-архивами, включая создание, чтение, запись, добавление и просмотр содержимого файлов в архиве ZIP.

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

После этого мы вызываем метод extractall(), который извлекает все файлы из архива в текущую директорию, где расположен скрипт Python.


Этот код полезен при необходимости просмотра содержимого архива ZIP и извлечения всех файлов из него.

🐍 Python Map | Обучение
2🤯21👍1
😎 Отображение смайлов в Python

Использование Unicode:
Каждый смайл имеет уникальный код в стандарте Unicode. Вы можете использовать комбинацию \U и этого кода для отображения смайлов непосредственно в вашем коде.

Использование коротких имен CLDR:
Помимо Unicode, смайлы также имеют короткие имена CLDR (Common Locale Data Repository), которые можно использовать с комбинацией \N.

💾 Список смайлов (имя + Unicode)

🐍 Python Map | Обучение
😎2🔥1