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

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

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

Функция enumerate() позволяет итерироваться по элементам последовательности вместе с их индексами. Это избавляет от необходимости вручную вести счётчик и делает код более чистым и читаемым.

Пример:

fruits = ["apple", "banana", "cherry"]

for index, fruit in enumerate(fruits, start=1):
print(index, fruit)

# Вывод:
# 1 apple
# 2 banana
# 3 cherry


📌В этом примере enumerate() возвращает пары (индекс, значение), что удобно при работе с циклами.

enumerate() применяют, когда нужен доступ к индексу и самому элементу одновременно — например, при отладке, нумерации строк, формировании таблиц или логов. Это делает код более питоничным и компактным.
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Декораторы в Python — функции над функциями

В Python декораторы позволяют изменять поведение функций без изменения их кода.

Это "обёртки", которые выполняются до или после основной функции.


➡️ Пример:

def logger(func):
def wrapper(*args, **kwargs):
print(f"Вызов функции {func.__name__}")
return func(*args, **kwargs)
return wrapper

@logger
def say_hello(name):
print(f"Привет, {name}!")

say_hello("Анна")


📌 Здесь @logger добавляет логирование при вызове say_hello, не меняя её код.
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код?
👩‍💻 List Comprehensions — краткий способ создавать списки

List comprehension в Python позволяет создавать списки в одну строку вместо циклов. Это делает код компактнее и читаемее

➡️ Пример:

# Обычный способ
squares = []
for i in range(1, 6):
squares.append(i**2)

# List comprehension
squares_compact = [i**2 for i in range(1, 6)]

print(squares_compact) # [1, 4, 9, 16, 25]


📌 Это удобный инструмент для фильтрации и преобразования данных в Python.
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Что такое генераторы в Python

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

В отличие от списков, они не хранят все данные в памяти сразу, а создают их "на лету".


➡️ Пример:

def count_up_to(n):
for i in range(1, n + 1):
yield i

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


📌 Генераторы экономят память и ускоряют работу с большими данными.
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код?
👩‍💻 with — безопасная работа с ресурсами

Ключевое слово with автоматически управляет открытием и закрытием ресурсов (например, файлов).

Не нужно вручную писать close(), даже если возникнет ошибка.


➡️ Пример:

with open("data.txt", "w") as f:
f.write("Привет, Python!")


📌 После выхода из блока файл закроется автоматически. with упрощает код и предотвращает утечки ресурсов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Зачем используется метод join() в Python и когда его применять?

Метод join() объединяет элементы итерируемого объекта (обычно списка строк) в одну строку с указанным разделителем. Это удобный способ собирать строки без лишних циклов.

Пример:

words = ["Python", "is", "awesome"]
sentence = " ".join(words)
print(sentence)
# ➜ Python is awesome


📌В этом примере join() соединяет список слов в предложение через пробел.

join() удобно использовать при генерации текстов, формировании путей, обработке CSV-данных и выводе массивов строк. Он делает код лаконичным и более эффективным, чем конкатенация через + в цикле
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код?
👩‍💻 isinstance — проверка типа объекта

Функция isinstance() проверяет, относится ли объект к указанному типу (или кортежу типов).
Полезно для валидации данных и написания универсальных функций.

➡️ Пример:

x = 3.14

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

Это число


📌 Удобнее и безопаснее, чем сравнение через type().
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код?
👩‍💻 enumerate — индексы и элементы вместе

Функция enumerate() позволяет перебирать коллекцию с индексами без range(len(...)).

Код становится чище и читаемее.


➡️ Пример:

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

for i, fruit in enumerate(fruits, start=1):
print(i, fruit)

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


📌 start задаёт, с какого числа начинать счёт
Please open Telegram to view this post
VIEW IN TELEGRAM