🐍 Укус питона 🐍
2.56K subscribers
1.01K photos
23 videos
285 links
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки.

👽 Админ - @it_dashka
🔊 Купить рекламу: https://telega.in/c/byteofpython

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Зачем используется функция type() в Python и когда её применять?

Функция type() возвращает тип переданного объекта. Это удобно для отладки, валидации данных и динамического изменения поведения программы в зависимости от типа.

Пример:

value = 42
print(type(value))
# ➜ <class 'int'>


В этом примере type() показывает, что переменная value является целым числом (int).

type() удобно использовать при проверке типов в отладке, логировании, написании универсальных функций и метаклассов. Она помогает писать более надёжный и предсказуемый код, особенно в больших проектах
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код?
👩‍💻 contextlib.suppress — игнорирование ошибок точечно

Иногда нужно пропустить определённые исключения, не оборачивая код в громоздкий try/except.
Для этого есть suppress() из модуля contextlib.

➡️ Пример:

from contextlib import suppress

data = {"a": 1}

with suppress(KeyError):
print(data["b"]) # Ошибка будет проигнорирована

print("Код продолжает работать")

Код продолжает работать


📌 Удобно, когда ошибка допустима и не требует обработки — например, при удалении файла, который может отсутствовать.
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 defaultdict — словарь с значениями по умолчанию

defaultdict из модуля collections автоматически создаёт значение для нового ключа, если он ещё не существует.

➡️ Пример:

from collections import defaultdict

data = defaultdict(list)
data["users"].append("Анна")
data["users"].append("Борис")

print(data)

defaultdict(<class 'list'>, {'users': ['Анна', 'Борис']})


📌 Удобно при группировке данных и подсчёте значений — не нужно проверять, есть ли ключ в словаре.
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код?
👩‍💻 setdefault — добавление ключа, если его нет

Метод словаря setdefault() возвращает значение по ключу, а если ключ отсутствует — создаёт его с указанным значением.

➡️ Пример:

user = {"name": "Анна"}

city = user.setdefault("city", "Москва")
print(city) # Москва
print(user) # {'name': 'Анна', 'city': 'Москва'}


📌 Удобно для инициализации значений в словаре без лишних проверок if key not in dict.
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 chain — объединение нескольких последовательностей

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

➡️ Пример:

from itertools import chain

a = [1, 2]
b = [3, 4]
c = [5]

for x in chain(a, b, c):
print(x, end=" ")

1 2 3 4 5


📌 Удобно, когда нужно пройтись по нескольким спискам подряд без создания нового объединённого списка.
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код?
👩‍💻 dataclass — меньше кода для классов

@dataclass из модуля dataclasses автоматически создаёт методы __init__, __repr__, __eq__ и другие на основе аннотаций полей.

➡️ Пример:

from dataclasses import dataclass

@dataclass
class User:
name: str
age: int

u = User("Анна", 25)
print(u) # User(name='Анна', age=25)


📌 Удобно для хранения данных: меньше шаблонного кода, больше читаемости.
Please open Telegram to view this post
VIEW IN TELEGRAM