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

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

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
🔹 range() — генератор чисел

range() используется для генерации последовательностей чисел.
Часто применяется в циклах for.

Формат: range(start, stop, step)

➡️ Пример:

python
Копировать
Редактировать
for i in range(1, 6):
print(i)

1
2
3
4
5


range() не включает верхнюю границу (stop), работает быстро и не хранит все числа в памяти
🔹 if / elif / else — условные конструкции

Условные конструкции управляют логикой выполнения кода.

x = 10

if x > 0:
print("Положительное")
elif x == 0:
print("Ноль")
else:
print("Отрицательное")


Блок if проверяет условие. elif — альтернативные варианты. else — всё остальное.

❗️ Отступы обязательны.
🔹 Функции в Python — базовый синтаксис

Функции помогают структурировать код и избежать повторений.

Объявляются с помощью ключевого слова def.

➡️ Пример:


def greet(name):
return f"Привет, {name}!"

print(greet("Анна"))

Привет, Анна!


➡️ Используйте функции для повторяющихся операций и улучшения читаемости кода.
🔹 Декораторы в 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


🗣️ Генераторы экономят память и удобны для обработки больших данных.