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

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

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
🔹 Декораторы в Python — обёртка для функций

Декораторы позволяют модифицировать поведение функции без изменения её кода.
Используются для логирования, проверки прав доступа, кеширования и других задач.

Декоратор — это функция, которая принимает другую функцию как аргумент и возвращает новую функцию.

➡️ Пример:

def my_decorator(func):
def wrapper():
print("Выполнение функции:")
func()
print("Завершено.")
return wrapper

@my_decorator
def say_hello():
print("Привет, мир!")

say_hello()

Выполнение функции:
Привет, мир!
Завершено.


🔍 Здесь декоратор @my_decorator оборачивает функцию say_hello(), добавляя вывод до и после её выполнения.

Это удобно для повторяющихся действий — логирование, проверка доступа и т.д.


Используйте декораторы для улучшения кода без дублирования логики.
Что выведет следующий код?
Anonymous Quiz
31%
bob
59%
BOB
10%
alice
0%
Ошибка выполнения
🔹 Исключения в Python — обработка ошибок

Исключения помогают обрабатывать ошибки, не прерывая выполнение программы.

Для этого используются конструкции try, except и, при необходимости, finally.

➡️ Пример:

try:
x = int(input("Введите число: "))
result = 10 / x
print(f"Результат: {result}")
except ZeroDivisionError:
print("Ошибка: деление на ноль!")
except ValueError:
print("Ошибка: нужно ввести число.")


Если вводить некорректные данные (например, текст вместо числа или ноль), программа не завершится аварийно, а отработает с сообщением об ошибке.


Используйте исключения для безопасного выполнения кода.
Зачем используется функция zip() в Python и когда её применять?

Функция zip() объединяет несколько итерируемых объектов, возвращая итератор кортежей, где каждый кортеж содержит элементы с одинаковыми индексами из разных коллекций.

Это полезно для создания пар значений из разных списков.


Пример:

names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]

for name, age in zip(names, ages):
print(f"{name} — {age} лет")


📌 В этом примере функция zip() объединяет два списка в пары, создавая удобные кортежи для вывода.

zip() удобно использовать для обработки связанных данных, создания словарей из двух списков и итерации по нескольким коллекциям одновременно.
🔹 Словари в Python — удобное хранение данных

Словарь (dict) — структура данных, хранящая пары "ключ: значение".

Ключи уникальны и неизменяемы (например, строки, числа), значения могут быть любыми.

➡️ Пример:

person = {
"name": "Анна",
"age": 25,
"city": "Москва"
}

print(person["name"]) # Вывод: Анна


Чтобы получить значение, указывайте ключ в квадратных скобках.

Используйте словари для структурированных данных и быстрого доступа по ключу.
🔹 Генераторы в Python — ленивые итерации

Генераторы позволяют создавать последовательности без хранения всех элементов в памяти.

Они работают "лениво" — вычисляют значения по мере необходимости.

➡️ Пример:

def countdown(n):
while n > 0:
yield n
n -= 1

for num in countdown(5):
print(num)

5
4
3
2
1


🗣️ Генераторы экономят память и удобны для обработки больших данных.
🔹 Лямбда-функции в Python — компактные выражения

Лямбда-функции — это короткие анонимные функции, которые создаются с помощью ключевого слова lambda.

Они часто используются для простых операций и в качестве аргументов функций высшего порядка.

➡️ Пример:


square = lambda x: x ** 2
print(square(5)) # Вывод: 25


Лямбда-функции удобны для создания небольших одноразовых вычислений, когда полноценная функция избыточна.
👍1
🔹 Списочные включения (List Comprehensions) в Python

Списочные включения позволяют компактно создавать списки на основе существующих.
Их удобно использовать для фильтрации, трансформации и создания новых списков.

➡️ Пример:

numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers]
print(squares) # Вывод: [1, 4, 9, 16, 25]


Быстро и лаконично: квадрат каждого элемента из исходного списка.

Используйте списочные включения для краткости и читаемости кода.
🔹 Множества в Python — уникальные элементы

Множества (set) — неупорядоченные коллекции, содержащие только уникальные элементы.
Они быстро выполняют операции объединения, пересечения и разности.

➡️ Пример:

numbers = [1, 2, 2, 3, 4, 4, 5]
unique_numbers = set(numbers)
print(unique_numbers) # Вывод: {1, 2, 3, 4, 5}


Множества автоматически удаляют дубликаты и подходят для работы с уникальными значениями.