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

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

@python_pssss

Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/python_pssss
Subscribers
6.95K
Photos
3.3K
Videos
48
Links
3.3K

Showing posts older than #2748 · Back to latest

Older Posts 20 shown
Post #2746 582
sys.intern()

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

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

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

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


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

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

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

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


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

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

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

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

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

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

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

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

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

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

Используйте 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
Post #2738 637
Как это работает? — 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
Post #2737 659
Автоматизация настройки окружения с помощью Makefile

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

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

Разъяснивший Python
Post #2734 638
bytes.hex()

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

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

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

Разъяснивший Python
  • 👍 1
Post #2733 607
Использование requirements.txt для управления зависимостями проекта

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

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

Разъяснивший Python
  • ❤ 2
Post #2732 606
Использование venv для создания изолированных виртуальных окружений

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

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

Разъяснивший Python
  • 🤨 2
Post #2730 571
Использование модуля shlex для безопасного парсинга аргументов командной строки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Разъяснивший Python
Post #2720 629
collections.ChainMap

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

Разъяснивший Python
Post #2719 694
Matplotlib: Столбчатая диаграмма

Столбчатая диаграмма используется для сравнения значений между различными категориями. plt bar() строит столбцы. color отвечает цвет столбцов. alpha — прозрачность.

Обрати внимание на пример. Мы используем plt bar() для построения столбцов. Параметр categories задает метки для каждой категории, а values определяет высоту столбцов.

Разъяснивший Python
  • 👍 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →