Разъяснивший 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
Использование 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
zip()

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

Разъяснивший Python
Интересный факт о языке: Множественное присваивание

Множественное присваивание позволяет в одной строке присвоить значения сразу нескольким переменным. Также это позволяет легко обменивать значения между переменными без использования временной переменной.

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

Справа от знака = создаётся кортеж значений.
Эти значения распаковываются и присваиваются переменным слева.

Разъяснивший Python
Автоматизация настройки виртуального окружения с помощью requirements.txt и Makefile

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

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

Разъяснивший Python
Matplotlib: Ящик с усами

“Ящик с усами” или Box Plot — это статистическая визуализация, которая отображает распределение данных, включая медиану, квартиль и выбросы. plt.boxplot() — строит диаграмму. vert=True/False отвечает за ориентацию диаграммы. patch_artist=True позволяет задавать цвета коробок.

Обрати внимание на пример. notch=True добавляет углубления для визуализации медианы. showmeans=True отображает среднее значение (помеченное чёрной точкой). boxprops задаёт стиль и цвет коробок, а medianprops — цвет линии медианы. Box Plot полезен для анализа распределения и выбросов в нескольких группах данных.

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

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

Синтаксис:
numpy.random.uniformvariate(low, high, size=None)


Параметры:
low (float): Нижняя граница диапазона.
high (float): Верхняя граница диапазона.
size (int, optional): Размер возвращаемого массива.

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

ChainMap — это инструмент из модуля collections, который позволяет объединить несколько словарей в один объект, доступный как единый словарь. Это удобно, когда вам нужно работать с несколькими словарями, представляющими разные области видимости или контексты, и вам нужно установить приоритеты доступа к данным.

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

Метод
inspect.getsource() из модуля inspect позволяет получить исходный код функции, класса или метода. Это полезно для анализа кода во время выполнения или создания инструментов для отладки и документации.

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

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

Синтаксис:
os.fspathconf(path, name)


Аргументы:
path: путь к файлу или папке
name: имя конфигурационного параметра

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

Метод sys.getsizeof() позволяет узнать размер объекта в памяти, включая дополнительные данные, связанные с этим объектом. Это полезно для анализа потребления памяти в приложении.

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