🔹 f-строки — простой способ форматирования
f-строки (f-strings) — это удобный способ вставлять переменные прямо внутрь строк.
Работают с Python 3.6 и новее.
➡️ Пример:
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)).
🔹 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.
Что выведет следующий код?
Anonymous Quiz
5%
1, GeneratorExit caught
45%
1, без вывода GeneratorExit caught
30%
Только GeneratorExit caught
20%
Ошибка выполнения
🔹 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", "-")) # -
Удобно, когда не уверен, что ключ точно есть в словаре — исключения не будет.