Разъяснивший Python – Telegram
Разъяснивший Python
7.63K subscribers
2.83K photos
40 videos
30 files
2.72K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
collections.ChainMap

В Python класс collections.ChainMap объединяет несколько словарей в одну структуру, позволяя искать ключи сразу во всех словарях. Это удобно для объединения настроек или конфигураций.

Разъяснивший Python
itertools.chain()

Функция itertools.chain() позволяет объединить несколько итерируемых объектов в один. Это полезно, когда нужно работать с несколькими списками или другими коллекциями без явной конкатенации.

Разъяснивший Python
difflib.get_close_matches()

В Python функция difflib.get_close_matches() находит наиболее похожие строки из списка на основе заданного шаблона. Это удобно для реализации поиска, проверки орфографии или подсказок для ввода.

Разъяснивший Python
Упрощенное выполнение командной строки с помощью модуля subprocess

Иногда в Python возникает необходимость запускать команды, как если бы вы их выполняли в терминале. Для этого существует удобный модуль subprocess, который позволяет запускать внешние команды и получать результат их выполнения.

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

Разъяснивший Python
shutil.copy()

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

Разъяснивший Python
Запуск Python-скрипта с автоматическим чтением аргументов командной строки

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

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

Разъяснивший Python
inspect.signature()

В Python функция inspect.signature() из модуля inspect позволяет получать информацию о сигнатуре функций и методов. Это полезно для анализа кода во время выполнения, например, для отладки или динамического вызова функций.

Разъяснивший Python
Использование модуля shlex для безопасного парсинга аргументов командной строки

Когда вы хотите передать сложные аргументы командной строки, такие как строки с пробелами, специальные символы или даже кавычками, модуль shlex может помочь правильно их обработать. Это особенно полезно, если вы получаете аргументы из внешних источников или командной строки.

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

Разъяснивший Python
Использование venv для создания изолированных виртуальных окружений

Создание виртуальных окружений позволяет управлять зависимостями ваших проектов в Python и избегать конфликтов между ними. Это особенно полезно, если вы работаете над несколькими проектами, требующими разные версии библиотек.

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

Разъяснивший Python
🤨2
Использование requirements.txt для управления зависимостями проекта

Когда вы работаете над проектами в Python, очень важно управлять зависимостями, чтобы обеспечить воспроизводимость и совместимость окружений. Один из простых способов сделать это — использовать файл requirements.txt.

Этот лайфхак будет полезен всем разработчикам Python, особенно тем, кто работает в командах или на проектах с несколькими зависимостями. Использование файла requirements.txt позволяет быстро настраивать окружение и избегать проблем, связанных с несовместимыми версиями библиотек. Это делает ваш проект более устойчивым и легким для развертывания.

Разъяснивший Python
2
bytes.hex()

bytes.hex() — это метод, который преобразует объект bytes в шестнадцатеричную строку.

Как работает: bytes.hex() возвращает строку, состоящую из шестнадцатеричных цифр, представляющих каждый байт в объекте bytes. Шестнадцатеричные цифры идут парами, где первая цифра представляет старший полубайт, а вторая - младший полубайт.

Например, байт со значением 10 (в десятичной системе) будет представлен как "0a" в шестнадцатеричной системе.

Разъяснивший Python
👍1
Автоматизация настройки окружения с помощью Makefile

Если вы часто создаете проекты на Python и хотите упростить процесс настройки окружения, вы можете использовать Makefile. Это файл, который позволяет автоматизировать выполнение команд с помощью утилиты make.

Этот лайфхак будет особенно полезен разработчикам, которые работают над несколькими проектами и хотят автоматизировать рутинные задачи по настройке окружения. Использование Makefile позволяет быстро и удобно управлять проектом, не запоминая каждую команду.

Разъяснивший Python
Как это работает? — Python: List Comprehension

List comprehension — это мощный способ создавать списки в Python одной строкой. Давайте разберём, как работает этот синтаксис.

Как это работает:

• range(10) генерирует числа от 0 до 9.
Для каждого числа x из range(10) выполняется выражение x**2, которое возводит x в квадрат.
Результаты собираются в список squares.

Развернутый аналог:
squares = []
for x in range(10):
squares.append(x**2)
print(squares) #[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]


Разъяснивший Python
Антипаттерн недели: Использование изменяемых объектов по умолчанию

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

Значение по умолчанию ([]) создаётся один раз при определении функции и используется повторно для всех вызовов. Поэтому изменения сохраняются между вызовами функции.

Как исправить:

Используйте None и создавайте новый список внутри функции:
def add_item(item, items=None):
if items is None:
items = []
items.append(item)
return items

print(add_item(1)) # [1]
print(add_item(2)) # [2] — теперь всё работает правильно!


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

Разъяснивший Python
👍2
Использование .env файлов для настройки окружения

Когда вы работаете над проектом на Python, часто необходимо хранить конфиденциальные данные, такие как API-ключи, пароли к базам данных и другие параметры конфигурации. Вместо того чтобы хранить их в коде, вы можете использовать .env файлы и библиотеку python-dotenv для удобного управления окружением.

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

Разъяснивший Python
sys.setrecursionlimit()

В Python функция sys.setrecursionlimit() позволяет изменить максимальную глубину рекурсии. Это полезно для задач с глубокой рекурсией, таких как обход деревьев или выполнение сложных алгоритмов.

Разъяснивший Python
Функция permutations()

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

Синтаксис:
itertools.permutations(iterable, r=None)


Аргументы:
iterable: Итерируемый объект, например, список, строка или кортеж.
r (опционально): Целое число, указывающее длину перестановок. Если не указано, то по умолчанию генерируются все перестановки возможной длины.

Разъяснивший Python
Функция groupby()

Функция groupby() из модуля itertools в Python используется для группировки элементов итератора по значению ключа. Она применяется к итератору (списку, кортежу, строке) и возвращает объект groupby, который представляет собой итератор по группам.

Синтаксис:
groupby(iterable, key=None)


Аргументы:
iterable: Итерируемый объект, который нужно сгруппировать.
key: Функция, которая извлекает ключ из каждого элемента итератора. По умолчанию используется функция lambda x: x, которая возвращает сам элемент.

Разъяснивший Python
sys.intern()

В Python функция sys.intern() оптимизирует хранение строк, создавая их в единственном экземпляре в памяти (интернирование). Это ускоряет сравнение строк за счёт сравнения ссылок, а не их содержимого.

Разъяснивший Python
Полезные библиотеки Python

Pyshorteners — Python библиотека, которая поможет вам сокращать и расширять URL-адреса с помощью самых известных URL-сокращателей.

Установка:

pip install pyshorteners


Пример использования:
import pyshorteners

s = pyshorteners.Shortener()
print(s.tinyurl.short('https://www.youtube.com/@PythonToday'))


GitHub
Документация

Разъяснивший Python
Использование pyenv и virtualenv для управления версиями Python и окружениями

Когда вы работаете над несколькими проектами на Python, важно не только управлять зависимостями, но и иметь возможность использовать разные версии Python. В этом поможет комбинация pyenv и virtualenv.

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

Разъяснивший Python