Модуль phonenumbers
Библиотека phonenumbers предоставляет мощный и удобный инструментарий для работы с телефонными номерами. С помощью этой библиотеки можно легко разбирать, валидировать, форматировать и даже определять информацию о телефонных номерах, такую как страна и оператор связи.
Установка библиотеки:
Эта библиотека может быть полезна при разработке приложений, требующих анализа номеров телефонов.
#библиотеки #практика #продвинутый_уровень | @PyMapChannel
Библиотека phonenumbers предоставляет мощный и удобный инструментарий для работы с телефонными номерами. С помощью этой библиотеки можно легко разбирать, валидировать, форматировать и даже определять информацию о телефонных номерах, такую как страна и оператор связи.
Разбор кода примера:
Функция parse() – разберает (парсит) строку и возвращает соответствующий объект PhoneNumber.
Функция is_valid_number() – проверяет, соответствует ли номер телефона допустимому шаблону.
Затем с помощью функций carrier.name_for_number и geocode.description_for_number , определяем имя провайдера и регион, соответствующие данному номеру телефона.
Установка библиотеки:
pip install phonenumbers
Эта библиотека может быть полезна при разработке приложений, требующих анализа номеров телефонов.
#библиотеки #практика #продвинутый_уровень | @PyMapChannel
👍2❤1
Потоковый ввод sys.stdin
🐍 Потоковый ввод в Python, очень полезный приём, когда вы не знаете сколько строк может вводить пользователь.
#практика #продвинутый_уровень | @PyMapChannel
🐍 Потоковый ввод в Python, очень полезный приём, когда вы не знаете сколько строк может вводить пользователь.
#практика #продвинутый_уровень | @PyMapChannel
🔥4🏆1
Методы str.lower() и str.upper()
Метод строк lower() преобразует все символы в нижний регистр, а метод upper() делает все символы в строке заглавными. Методы возвращают новую строку, не изменяя исходную.
Эти методы очень удобны для сравнения строк без учета регистра.
#практика #это_база | @PyMapChannel
Метод строк lower() преобразует все символы в нижний регистр, а метод upper() делает все символы в строке заглавными. Методы возвращают новую строку, не изменяя исходную.
Эти методы очень удобны для сравнения строк без учета регистра.
#практика #это_база | @PyMapChannel
Модуль art: функция tprint()
Функция tprint() из модуля art предназначена для вывода текста в виде ASCII-арт. Она позволяет указать текст, а также выбрать стиль, в котором этот текст должен быть отображен.
Узнать все доступные шрифты и оформления:
Установка библиотеки:
#библиотеки | @PyMapChannel
Функция 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
⚡️ Оператор * для упаковки и распаковки коллекций предоставляет удобные способы работы с данными переменной длины и упрощает работу с итерируемыми объектами.
Накидайте максимум реакций)
#практика #это_база #статьи | @PyMapChannel
👍5
Функция filter()
Функция filter() в Python используется для фильтрации (отбора) элементов последовательности, основываясь на заданном условии.
Функция filter() возвращает итератор, содержащий элементы, для которых функция возвращает True.
Как правило, вместо filter можно использовать генераторы списков.
#практика #это_база | @PyMapChannel
Функция filter() в Python используется для фильтрации (отбора) элементов последовательности, основываясь на заданном условии.
Синтаксис:
filter(function, iterable)
где:
function - функция, которая возвращает True или False для каждого элемента в итерируемом объекте;
iterable - итерируемый объект, в котором производится фильтрация.
Функция filter() возвращает итератор, содержащий элементы, для которых функция возвращает True.
Как правило, вместо filter можно использовать генераторы списков.
#практика #это_база | @PyMapChannel
👍4❤2
Модуль textwrap: функция wrap
Функция wrap() модуля textwrap разбивает один абзац (строку) text по строкам так, что каждая строка имеет не более width символов в длину. Возвращает список строк, без завершающего символа новой строки \n.
Установка библиотеки:
#библиотеки | @PyMapChannel
Функция 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".
Дополнительно, этот код выводит размер файла исходного и модифицированного изображения в килобайтах (Кб).
Параметр
Установка библиотеки:
#практика | @PyMapChannel
Этот код позволяет, используя библиотеку PIL (Python Imaging Library), открыть исходное изображение из файла "original.png" и сохранить сжатую и оптимизированную версию изображения в файл "compressed.png".
Дополнительно, этот код выводит размер файла исходного и модифицированного изображения в килобайтах (Кб).
Параметр
optimize=True
, метода Image.save
указывает на использование оптимизации для сжатия файла изображения с минимальной потерей качества.Также можно указать необязательный параметр quality, определяющий процентное значение качества сжатия от 0 до 100 (по умолчанию 75). что позволяет балансировать между качеством и размером файла.
Установка библиотеки:
pip install pillow
#практика | @PyMapChannel
«Странное» поведение % в Python
Иногда это может давать «странный» результат при работе с отрицательными числами.
К примеру, сколько будет
В ответе будет:3 # вместо ожидаемого -1
Объяснение:
В Python оператор
Для вопроса выше выше:
В то время как другие языки используют усечение (int), вместо округления вниз (math.floor):
Что приводит к:
Ставьте «❤️»
#теория | @PyMapChannel
В отличие от C, Java или JS, оператор остатка от деления нацело % в Python всегда возвращает число, имеющее тот же знак, что и делитель.
Иногда это может давать «странный» результат при работе с отрицательными числами.
К примеру, сколько будет
-5 % 4
?В ответе будет:
Объяснение:
В 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 мы можем вычислять с помощью:
Но в C, если N ≥ 3, мы получаем отрицательное число, которое является недопустимым числом, и нам нужно вручную исправить это, добавив 7:
#теория | @PyMapChannel
Примером может служить вычисление дней недели. Если сегодня вторник (день № 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 следует использовать вместо генератора псевдослучайных чисел модуля random, который в свою очередь предназначен для моделирования и симуляции, а не для защиты или криптографии.
#библиотеки | @PyMapChannel
Модуль
secrets
в Python предоставляет функции для генерации криптографически безопасных случайных чисел, строк и выборов из последовательностей.Этот модуль особенно полезен для создания безопасных паролей, токенов аутентификации и других конфиденциальных данных.
Модуль secrets следует использовать вместо генератора псевдослучайных чисел модуля random, который в свою очередь предназначен для моделирования и симуляции, а не для защиты или криптографии.
#библиотеки | @PyMapChannel
🔥6
Функция isinstance()
Функция isinstance() в Python позволяет проверить, является ли объект экземпляром определенного класса или его подклассом.
Она вернет True, если проверяемый объект object является экземпляром любого указанного в classinfo класса (классов) или его подкласса.
Начиная с Python 3.10, аргументом classinfo может быть объединением нескольких классов, например,
#практика | @PyMapChannel
Функция isinstance() в Python позволяет проверить, является ли объект экземпляром определенного класса или его подклассом.
Она вернет True, если проверяемый объект object является экземпляром любого указанного в classinfo класса (классов) или его подкласса.
Синтаксис:
isinstance(object, classinfo)
где:
object - объект, который нужно проверить;
classinfo - класс или кортеж классов, к которым мы хотим проверить принадлежность объекта.
Начиная с Python 3.10, аргументом classinfo может быть объединением нескольких классов, например,
int | str
.#практика | @PyMapChannel
❤4✍1
Модуль 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