🐍 Укус питона 🐍
Open in Telegram
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки. 👽 Админ - @tg_adminisrator 🔊 Купить рекламу: https://telega.in/c/byteofpython 👉 Чат: @abyteofpython 👉 Поделиться с друзьями: @byteofpython
Show more2 334
Subscribers
No data24 hours
-117 days
-3730 days
Posts Archive
2 334
👩💻 defaultdict — словарь с значениями по умолчанию
defaultdict из модуля collections автоматически создаёт значение для нового ключа, если он ещё не существует.
➡️ Пример:
from collections import defaultdict
data = defaultdict(list)
data["users"].append("Анна")
data["users"].append("Борис")
print(data)
defaultdict(<class 'list'>, {'users': ['Анна', 'Борис']})
📌 Удобно при группировке данных и подсчёте значений — не нужно проверять, есть ли ключ в словаре.
2 334
👩💻 contextlib.suppress — игнорирование ошибок точечно
Иногда нужно пропустить определённые исключения, не оборачивая код в громоздкий
try/except.
Для этого есть suppress() из модуля contextlib.
➡️ Пример:
from contextlib import suppress
data = {"a": 1}
with suppress(KeyError):
print(data["b"]) # Ошибка будет проигнорирована
print("Код продолжает работать")
Код продолжает работать
📌 Удобно, когда ошибка допустима и не требует обработки — например, при удалении файла, который может отсутствовать.
2 334
❓ Зачем используется функция
type() в Python и когда её применять?
Функция type() возвращает тип переданного объекта. Это удобно для отладки, валидации данных и динамического изменения поведения программы в зависимости от типа.
✅Пример:
value = 42
print(type(value))
# ➜ <class 'int'>
В этом примере type() показывает, что переменная value является целым числом (int).
type() удобно использовать при проверке типов в отладке, логировании, написании универсальных функций и метаклассов. Она помогает писать более надёжный и предсказуемый код, особенно в больших проектах
2 334
👩💻 unpacking оператор * для распаковки
Оператор
* позволяет распаковывать последовательности в отдельные элементы прямо в выражениях или вызовах функций
➡️ Пример:
nums = [1, 2, 3]
print(*nums) # 1 2 3
a, *middle, b = [10, 20, 30, 40, 50]
print(a, middle, b) # 10 [20, 30, 40] 50
📌 Полезно для передачи аргументов, объединения списков и элегантного извлечения частей коллекций.
2 334
👩💻 else после цикла — неочевидная фишка Python
В Python можно использовать
else не только с if, но и с циклами for и while.
Он выполняется только если цикл завершился без break.➡️ Пример:
nums = [1, 3, 5, 7]
for n in nums:
if n % 2 == 0:
print("Есть чётное")
break
else:
print("Все числа нечётные")
Все числа нечётные
📌 Удобно для поиска: если ничего не найдено — выполнится else. Работает как "не прервали — тогда делай...".2 334
👩💻 zip_longest — объединение списков разной длины
Функция
zip_longest() из модуля itertools объединяет несколько последовательностей, заполняя недостающие значения указанным значением.
➡️ Пример:
from itertools import zip_longest
names = ["Анна", "Борис"]
scores = [90]
for name, score in zip_longest(names, scores, fillvalue="—"):
print(name, score)
Анна 90
Борис —
📌 Полезно при работе с данными разной длины, чтобы не потерять элементы.2 334
👩💻 enumerate + start — нумерация с любого числа
Функция
enumerate() позволяет перебирать элементы с индексами, а параметр start задаёт, с какого числа начинать счёт.
➡️ Пример:
tasks = ["Купить хлеб", "Выучить Python", "Сделать проект"]
for i, task in enumerate(tasks, start=1):
print(f"{i}. {task}")
1. Купить хлеб
2. Выучить Python
3. Сделать проект
📌 Удобно для списков задач, меню и любых случаев, где индексация должна начинаться не с нуля.2 334
👩💻 pathlib — современная работа с путями
Модуль
pathlib упрощает работу с файлами и папками, заменяя старый os.path.
Объекты Path интуитивнее и поддерживают операции как с обычными переменными.➡️ Пример:
from pathlib import Path
path = Path("example.txt")
if path.exists():
print("Файл существует")
else:
print("Файла нет")
📌 pathlib работает кроссплатформенно, поддерживает удобное объединение путей (/), чтение, запись и обход директорий.2 334
❓ Зачем используется функция
len() в Python и когда её применять?
Функция len() возвращает количество элементов в итерируемом объекте или длину строки. Это удобный способ быстро получить размер коллекции или проверить, пуста ли она.
✅Пример:
items = ["apple", "banana", "orange"]
count = len(items)
print(count)
# ➜ 3
📌В этом примере len() возвращает количество элементов списка.
len() удобно использовать при работе со списками, строками, словарями, множествами и любыми коллекциями. Она помогает проверять пустоту (if len(list) > 0), контролировать размеры данных и писать более читаемый код.
