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

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

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Что выведет следующий код?
Anonymous Quiz
50%
[0, 2, 4]
35%
[4, 4, 4]
0%
[0, 1, 2]
15%
[0, 0, 0]
🔹 f-строки — простой способ форматирования

f-строки (f-strings) — это удобный способ вставлять переменные прямо внутрь строк.
Работают с Python 3.6 и новее.

➡️ Пример:

name = "Иван"
age = 30

print(f"{name} — {age} лет")

Иван — 30 лет


f-строки читаются легче, чем .format() и позволяют вставлять выражения прямо внутри скобок.
🔹 isinstance() — проверка типа объекта

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

➡️ Пример:

x = 10

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

Это целое число


Удобно при написании универсальных функций и проверке входных данных.

Можно проверять сразу на несколько типов: isinstance(x, (int, float)).
Что выведет следующий код?
Anonymous Quiz
58%
1, 2
4%
0, 0
27%
1, 1
12%
Ошибка выполнения
🔹 filter() — фильтрация элементов по условию

Функция filter() отбирает элементы из итерируемого объекта, которые проходят заданную проверку.

➡️ Пример:

numbers = [1, 2, 3, 4, 5, 6]
evens = list(filter(lambda x: x % 2 == 0, numbers))
print(evens)

[2, 4, 6]


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

Генераторное выражение — это компактный синтаксис (expr for item in iterable if cond) , который создаёт ленивый итератор вместо полного списка. Оно выдаёт элементы по одному, потребляя память только под текущий элемент.

Пример:

numbers = range(1, 1_000_001)          # миллион чисел
squared_sum = sum(x * x for x in numbers if x % 2 == 0)
print(squared_sum) # лениво обходит только чётные числа


📌 В этом примере создаётся генератор, который по-очереди отдаёт квадраты чётных чисел. Память под миллион элементов не выделяется; вычисления происходят «на лету».

Генераторные выражения удобно использовать, когда нужны последовательные вычисления без хранения промежуточных данных — например, при обработке больших файлов, потоковой фильтрации, подсчётах и конвейерах sum, max, any, all. Они делают код короче, а программу — экономнее по памяти.
Что выведет следующий код?
Anonymous Quiz
33%
[1], [2]
19%
[2], [1]
48%
[1], [1, 2]
0%
Ошибка выполнения
🔹 any() — проверка хотя бы одного True

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

➡️ Пример:

flags = [False, False, True, False]

if any(flags):
print("Есть хотя бы одно истинное значение")

Есть хотя бы одно истинное значение


Удобно для быстрой проверки условий в списках и других коллекциях.
🔹 all() — проверка всех значений на True

Функция all() возвращает True, если все элементы итерируемого объекта истинны.

➡️ Пример:

checks = [True, True, True]
if all(checks):
print("Все условия выполнены")

Все условия выполнены


Полезно при проверке нескольких флагов, условий или фильтрации данных.

Если хотя бы один элемент — False, результат будет False.
🔹 set() — создание множества в Python

set() создаёт коллекцию уникальных элементов. Повторяющиеся значения автоматически удаляются.

➡️ Пример:

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

{1, 2, 3}


Множества полезны для удаления дубликатов, математических операций (пересечение, объединение) и быстрых проверок принадлежности.
🔹 dict.get() — безопасное получение значения по ключу

Метод get() возвращает значение из словаря по ключу. Если ключа нет — возвращает None или значение по умолчанию.

➡️ Пример:


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

print(user.get("name")) # Анна
print(user.get("email")) # None
print(user.get("email", "-")) # -


Удобно, когда не уверен, что ключ точно есть в словаре — исключения не будет.