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

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

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Что выведет этот код?
Anonymous Quiz
18%
''
31%
None
42%
Ошибку
8%
Узнать ответ
Хотите стать востребованным Python-разработчиком? Пройдите курс от Hexlet!

Начните с основ и за 10 месяцев освоите один из самых популярных языков для бэкенда, научитесь создавать полноценные сайты и веб-приложения и реализовать внутреннюю логику работы программ на фреймворке Django.

🎁 🏖 А до 31 июля вас ждет специальное предложение - скидка 35 000 р. на обучение и второй курс в подарок!

Вас ждут сотни упражнений, 4 проекта для портфолио на GitHub, а во время обучения вы также поучаствуете в Карьерном треке. 

Пройдите 5 бесплатных уроков и откройте для себя увлекательный процесс обучения. Поймите, насколько интересен и перспективен этот путь, и получите уникальную возможность продолжить обучение на полном курсе со скидкой!
✈️ filter() - Это инструмент предоставляет фильтрацию элементов последовательности в соответствии с заданными критериями.

➡️ Что такое функция filter()?

Она принимает два параметра: функцию и итерируемый объект (например, список, кортеж или другую последовательность).

➡️ Где и зачем использовать функцию filter()?

- Фильтрации списка: Исключения элементов списка, не удовлетворяющих заданному условию.
- Устранения ненужных данных: Очистки данных от нежелательных значений или форматов.
- Обработки пользовательского ввода: Фильтрации ввода пользователя для удаления ошибочных или неподходящих значений.
- Фильтрации данных из баз данных: Выборки данных из базы в соответствии с критериями фильтрации.

➡️ Пример использования функции filter()

# Пример: отфильтровать список чисел, оставив только четные
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

def is_even(n):
return n % 2 == 0

even_numbers = list(filter(is_even, numbers))
print(even_numbers) # Вывод: [2, 4, 6, 8, 10]
Что выведет этот код?
Anonymous Quiz
45%
True
52%
False
3%
Узнать ответ
Что выведет этот код?
Anonymous Poll
17%
True
42%
False
17%
0
16%
6
9%
Узнать ответ
Что выведет этот код?
Anonymous Poll
61%
True True
31%
True False
6%
Ошибку
2%
Узнать ответ
🖥 Что означает some-variable ?

Двойное подчеркивание перед и после имени переменной в Python называется "dunder" (Double underscore) и используется для специальных методов и атрибутов, которые могут быть вызваны автоматически. Например, init - это специальный метод, который вызывается при создании экземпляра класса. Другие примеры включают str, len, call, iter, и так далее.

Также могут использоваться "dunder" атрибуты, такие как name, module, doc, file, dict, class, all и другие, которые предоставляют информацию о модуле, классе, функции или другом объекте.

Значение, которое присваивается такой переменной, зависит от контекста использования.

Например, name - это специальный атрибут, который содержит имя текущего модуля.

Обычно используйте двойное подчеркивание только для специальных методов и атрибутов, которые имеют специальный смысл в языке Python, и не используйте такие имена для своих собственных переменных, чтобы избежать конфликтов и неожиданного поведения
👍4
➡️Что такое кеширование?

Кеширование позволяет сохранять результаты выполнения функций, избегая повторных вычислений. Это полезно, особенно если функция часто вызывается с одними и теми же данными или выполняет сложные операции.

➡️Как это сделать?

В Python есть модуль functools, включающий декоратор lru_cache, который автоматически кеширует результаты функции.

➡️Зачем это нужно?

Кеширование ускоряет программу, сохраняя результаты вычислений функций. Это особенно полезно при работе с большими данными или сложными расчетами.

➡️Пример:
from functools import lru_cache

@lru_cache(maxsize=20) # 20 - это максимальное количество "запоминаний"
def fibonacci(n):
if n < 2:
return n
return fibonacci(n-1) + fibonacci(n-2)

print(fibonacci(10)) # Первый вызов - вычисляем
print(fibonacci(10)) # Результат уже закеширован


✈️Теперь вы знаете, как использовать кеширование в Python для улучшения производительности кода.