Обучающий канал по Python Ссылка для друга - https://t.me/+I7jrAQKR5xAyYTAy По всем вопросам @valentin_mascarov Реклама на бирже - https://telega.in/c/Python_per_month
🚫 Ловушка с аргументами *args
и **kwargs
без передачи дальше
В Python *args
и **kwargs
часто используются для гибкости, но ошибка — принимать их и не передавать дальше в базовые классы или функции. Это «глотает» параметры и может ломать поведение программы.
✔️ Всегда передавайте *args
и **kwargs
, если не уверены, что они вам не нужны.
Python Learning 👩💻
Cartopy
Cartopy — это Python-библиотека, предназначенная для создания карт и обработки геопространственных данных. Она построена на базе Matplotlib и обладает широким набором функций для создания профессиональных карт.
Python Learning 👩💻
⚙️ allall
проверяет все элементы итерируемого объекта и возвращает True
, только если все элементы — истинные (truthy
). Если хотя бы один элемент ложный (False
, 0
, None
, пустая строка или список) — результат будет False
.
Это полезно для проверки условий сразу на всех элементах без написания циклов.
Python Learning 👩💻
⚙️ re.subre.sub
заменяет все вхождения шаблона в строке на указанное значение. Это полезно для очистки и нормализации текста.
Python Learning 👩💻
⚙️ enumerateenumerate
добавляет индексы к элементам итерируемого объекта. Это полезно для одновременного доступа к элементу и его позиции в цикле.
Python Learning 👩💻
⚙️ dict.setdefaultdict.setdefault
возвращает значение по ключу, если он существует, или добавляет ключ со значением по умолчанию. Это полезно для группировки, счётчиков и инициализации вложенных структур.
Python Learning 👩💻
⚙️ str.removeprefix
str.removeprefix удаляет указанный префикс из строки, если он присутствует. Это полезно для очистки и нормализации данных без лишних условий и срезов.
Python Learning 👩💻
Мои коллеги из Яндекса создали сильнейшие IT каналы 🔥
Наше кредо — программирование не сложно, просто никто не объяснял нормально.
⚙️ itertools.pairwiseitertools.pairwise
возвращает пары соседних элементов из итерируемого объекта. Это полезно для сравнения, анализа трендов и работы с графами или координатами.
Python Learning 👩💻
⚙️ functools.total_orderingfunctools.total_ordering
автоматически добавляет недостающие методы сравнения, если определить хотя бы __eq__
и один из <, <=, >, >=. Это полезно для упрощения классов с порядком.
Python Learning 👩💻
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
При делении на ноль возникает ZeroDivisionError, который перехватывается в except. Блок else пропускается, но finally выполняется всегда. Код работает корректно.
⚙️ dis.get_instructions()dis.get_instructions()
возвращает пошаговую дизассемблировку байткода функции. Это полезно для глубокого понимания работы Python-интерпретатора, оптимизации и написания инструментов анализа кода.
Python Learning 👩💻
⚙️ sys.getwindowsversion()sys.getwindowsversion()
возвращает подробную информацию о версии Windows, на которой запущен интерпретатор. Это полезно для адаптации поведения скриптов под особенности конкретной ОС — например, различия в путях, шрифтах, файловых системах.
Python Learning 👩💻
⚙️ sys.getprofile()sys.getprofile()
возвращает текущую функцию-профайлер, установленную через sys.setprofile()
. Это полезно для отладки, написания инструментов анализа выполнения и динамического переключения профилирования.
Python Learning 👩💻
⚙️ sys.get_asyncgen_hooks()sys.get_asyncgen_hooks()
возвращает текущие функции-хуки, которые вызываются при создании и финализации асинхронных генераторов. Это полезно для отслеживания или изменения поведения async def
-генераторов в глубоко асинхронных приложениях.
Python Learning 👩💻
str.zfillstr.zfill
дополняет строку нулями слева до заданной длины. Это полезно для форматирования чисел с фиксированной шириной, например, в номерах счетов или индексах.
Python Learning 👩💻
🗞 EasyOffer 2.0 собрал более 1 млн рублей за первые сутки краудфандинга
Платформа EasyOffer, предназначенная для подготовки к IT-собеседованиям, объявила о разработке новой версии сервиса. За первые 24 часа краудфандинга проекту удалось привлечь более 1 000 000 рублей.
В релизе EasyOffer 2.0 планируется:
— крупнейшая база реальных вопросов и задач с технических интервью
— тренажёры по интервальным повторениям и симуляторы собеседований
— аналитика по компаниям, грейдам, популярности и сложности вопросов
— тестовые задания и требования из вакансий
📆 Релиз запланирован на конец мая.
Сейчас в рамках сбора средств можно оформить годовой PRO-доступ за 3 200 ₽. После запуска такая сумма будет соответствовать цене месячной подписки.
⚙️ anyany
возвращает True
, если хотя бы один элемент итерируемого объекта является истинным. Это полезно для быстрых проверок условий в коллекциях.
Python Learning 👩💻
⚙️ zipzip
объединяет несколько итерируемых объектов в кортежи по элементам. Это полезно для параллельной обработки нескольких списков.
Python Learning 👩💻
⚡️ Python теперь в Telegram!
Ребята сделали крутейший канал, где на простых картинках и понятном языке обучают Python, делятся полезными фишками и инструментами
Подписывайтесь: @PythonPortal
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
На момент вычисления x + 3 переменная x ещё не создана, так как множественное присваивание сначала вычисляет все выражения справа. Возникает ошибка NameError.
🚫 Антипаттерн недели: Использование переменных с плавающим значением в качестве условий
В Python числа с плавающей точкой (float
) могут вести себя неожиданно из-за погрешности вычислений. Это особенно критично при сравнении и использовании их в логических выражениях.
✔️ Избегайте прямого сравнения float
— используйте округление или math.isclose()
.
Python Learning 👩💻
⚙️ itertools.batcheditertools.batched
разбивает итерируемый объект на фиксированные группы. Это полезно для пакетной обработки данных, группировки и работы с потоками данных.
Python Learning 👩💻
⚙️ time.thread_time()time.thread_time()
возвращает процессорное время текущего потока. Это полезно для точного измерения производительности одного потока, исключая время ожидания или сна.
Python Learning 👩💻
⚙️ functools.cached_propertyfunctools.cached_property
превращает метод в лениво вычисляемое свойство, результат которого кэшируется. Это полезно для тяжёлых вычислений, которые должны выполняться только один раз на экземпляр.
Python Learning 👩💻
⚙️ types.CodeType.replacetypes.CodeType.replace()
(Python 3.8+) позволяет создавать изменённые копии объектов байткода (code object
). Это мощный инструмент для метапрограммирования, трансформации функций и написания декораторов низкого уровня.
Python Learning 👩💻
⚙️ sys.interactivehooksys.__interactivehook__
— это скрытая возможность задать поведение Python-интерпретатора при запуске в интерактивном режиме (REPL). Полезно для автоматического подключения библиотек, настройки окружения или изменения приветствия.
Python Learning 👩💻
⚙️ types.DynamicClassAttributetypes.DynamicClassAttribute
позволяет переопределять доступ к атрибутам на уровне класса, а не экземпляра. Это полезно, если поведение свойства должно отличаться при обращении через экземпляр и через сам класс.
Python Learning 👩💻
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Генератор (x * x for x in range(3)) создаёт значения: 0, 1, 4. next(gen) возвращает первый элемент (0), второй вызов — следующий (1). Код работает корректно и не вызывает ошибок.