Веб-версияОткрыть в Telegram

Пост🔥 Совет по Python: неожиданное поведение с изменяемыми аргументами по умолчанию

27 августа 2025
P
Python RU
Видео
final_video.mp4 · 1013 КБ · нажмите — покажем
🔥 Совет по Python: неожиданное поведение с изменяемыми аргументами по умолчанию Если в функции задать аргумент по умолчанию как list или dict, то этот объект создаётся один раз — при определении функции. Из-за этого все вызовы будут делить один и тот же объект, что часто приводит к багам. Правильный способ — использовать `None` и создавать новый объект внутри функции. def bad_append(x, data=[]): data.append(x) return data print(bad_append(1)) # [1] print(bad_append(2)) # [1, 2] <-- неожиданно! def good_append(x, data=None): if data is None: data = [] data.append(x) return data print(good_append(1)) # [1] print(good_append(2)) # [2] Используйте этот приём, чтобы не попасться на скрытые баги с аргументами по умолчанию.
👍8❤3🔥2
14 · 2K ·

Рядом в ленте

PPython RU🐍 Полезные фишки парсинга в Python 1️⃣ Парсинг JSON без лишних усилий import json data = '{"name": "Alice", "age": 25}' parsed = json.loads(data) print(parsed["PPython RU📝 PDF-Extract-Kit — библиотека для извлечения данных из PDF-файлов с поддержкой сложных документов с помощью моделей компьютерного зрения! 🔍 Основные особенност
это сообщение
PPython RUПро Python вышло документальное КИНО Ваш ждёт целая драма — как Python создавался в качестве хобби, едва не исчез, но все-таки взлетел и стал одним из ведущих ЯPPython RU🖥 Новинка: `pyx` — Python-native пакетный реестр от Astral (в Beta) Что такое `pyx`: - Python-native registry, часть платформы Astral и продвинутый бэкенд для u

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем