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

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

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Что выведет следующий код?
Anonymous Quiz
21%
test
25%
got
17%
set test, test
38%
set test, got
🔹 zip() + unpacking — параллельный перебор списков

С помощью zip() можно перебирать несколько списков одновременно.

А с распаковкой (*) удобно разъединять обратно.

➡️ Пример:

names = ["Анна", "Борис", "Вера"]
scores = [90, 85, 78]

for name, score in zip(names, scores):
print(f"{name}: {score}")

Анна: 90
Борис: 85
Вера: 78


zip() помогает работать с данными построчно и синхронно.

А zip(*iterable) делает обратное — трансформирует строки в колонки.
🔹 set() — быстрое удаление дубликатов

Множество (set) хранит только уникальные значения.

Используется для удаления повторов и быстрой проверки принадлежности.

➡️ Пример:

numbers = [1, 2, 2, 3, 4, 4, 5]
unique = list(set(numbers))
print(unique)

[1, 2, 3, 4, 5]


set() — простой способ избавиться от дубликатов в списке. Порядок элементов не сохраняется.
🔹 isinstance() — проверка типа объекта

isinstance() используется для проверки, принадлежит ли объект к определённому типу (или нескольким типам).

➡️ Пример:

x = 3.14

if isinstance(x, (int, float)):
print("Это число")

Это число


Полезно для валидации входных данных и написания гибких функций.


Работает с базовыми и пользовательскими типами.
🔹 range + len — индексы без enumerate

Если нужен доступ к элементам списка и их индексам, но без enumerate(), можно использовать range(len(...)).

➡️ Пример:

fruits = ["яблоко", "банан", "груша"]

for i in range(len(fruits)):
print(f"{i}: {fruits[i]}")

0: яблоко
1: банан
2: груша


Такой способ часто используется, если нужно изменять элементы списка по индексу.
🔹 dict.keys(), values(), items() — перебор словаря

Методы keys(), values() и items() позволяют удобно перебирать словарь.

➡️ Пример:

user = {"name": "Анна", "age": 28}

for key, value in user.items():
print(f"{key}: {value}")

name: Анна
age: 28


items() возвращает пары ключ–значение, keys() — только ключи, values() — только значения.
Полезно для чистого и понятного кода при работе со словарями.
🔹 try-except — обработка ошибок в Python

Конструкция try-except позволяет перехватывать ошибки во время выполнения и избегать падения программы.

➡️ Пример:

user_input = "42a"

try:
number = int(user_input)
print("Число:", number)
except ValueError:
print("Ошибка: это не целое число")

Ошибка: это не целое число


Полезно при работе с вводом, файлами, сетью и любыми нестабильными операциями.

Можно добавить else и finally для дополнительной логики.
👩‍💻 globals() и locals() — доступ к пространству имён

В Python функции globals() и locals() возвращают словари с текущими переменными — глобальными и локальными соответственно. Это даёт прямой доступ к пространству имён программы.

➡️ Пример:

x = 10

def demo():
y = 5
print("Локальные:", locals())
print("Глобальные:", globals()["x"])

demo()

Локальные: {'y': 5}
Глобальные: 10


📌 Зачем это нужно:

🟢Отладка и инспекция переменных
🟢Динамическое выполнение кода (eval, exec)
🟢Построение интерактивных сред (например, REPL или дебаггеры)


⚠️ Использовать с осторожностью — это мощный, но легко усложняющий читаемость инструмент.
Please open Telegram to view this post
VIEW IN TELEGRAM