Ответ:
Anonymous Quiz
22%
0 1 2 3 и [0, 1, 2, 3]
19%
0 1 3 и [1, 3]
15%
0 1 2 и [1, 3]
44%
0 2 и [1, 3]
Модуль
pathlib
упрощает работу с файлами и папками, заменяя старый os.path
.Объекты Path интуитивнее и поддерживают операции как с обычными переменными.
from pathlib import Path
path = Path("example.txt")
if path.exists():
print("Файл существует")
else:
print("Файла нет")
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Функция
enumerate()
позволяет перебирать элементы с индексами, а параметр start
задаёт, с какого числа начинать счёт.tasks = ["Купить хлеб", "Выучить Python", "Сделать проект"]
for i, task in enumerate(tasks, start=1):
print(f"{i}. {task}")
1. Купить хлеб
2. Выучить Python
3. Сделать проект
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
👍1
Функция
zip_longest()
из модуля itertools
объединяет несколько последовательностей, заполняя недостающие значения указанным значением.from itertools import zip_longest
names = ["Анна", "Борис"]
scores = [90]
for name, score in zip_longest(names, scores, fillvalue="—"):
print(name, score)
Анна 90
Борис —
Please open Telegram to view this post
VIEW IN TELEGRAM
В Python можно использовать
else
не только с if
, но и с циклами for
и while
.Он выполняется только если цикл завершился без break.
nums = [1, 3, 5, 7]
for n in nums:
if n % 2 == 0:
print("Есть чётное")
break
else:
print("Все числа нечётные")
Все числа нечётные
Please open Telegram to view this post
VIEW IN TELEGRAM
Оператор
*
позволяет распаковывать последовательности в отдельные элементы прямо в выражениях или вызовах функцийnums = [1, 2, 3]
print(*nums) # 1 2 3
a, *middle, b = [10, 20, 30, 40, 50]
print(a, middle, b) # 10 [20, 30, 40] 50
📌 Полезно для передачи аргументов, объединения списков и элегантного извлечения частей коллекций.
Please open Telegram to view this post
VIEW IN TELEGRAM
type()
в Python и когда её применять?Функция
type()
возвращает тип переданного объекта. Это удобно для отладки, валидации данных и динамического изменения поведения программы в зависимости от типа.value = 42
print(type(value))
# ➜ <class 'int'>
В этом примере
type()
показывает, что переменная value является целым числом (int
).type() удобно использовать при проверке типов в отладке, логировании, написании универсальных функций и метаклассов. Она помогает писать более надёжный и предсказуемый код, особенно в больших проектах
Please open Telegram to view this post
VIEW IN TELEGRAM
Иногда нужно пропустить определённые исключения, не оборачивая код в громоздкий
try/except
.Для этого есть
suppress()
из модуля contextlib
.from contextlib import suppress
data = {"a": 1}
with suppress(KeyError):
print(data["b"]) # Ошибка будет проигнорирована
print("Код продолжает работать")
Код продолжает работать
📌 Удобно, когда ошибка допустима и не требует обработки — например, при удалении файла, который может отсутствовать.
Please open Telegram to view this post
VIEW IN TELEGRAM
defaultdict
из модуля collections
автоматически создаёт значение для нового ключа, если он ещё не существует.from collections import defaultdict
data = defaultdict(list)
data["users"].append("Анна")
data["users"].append("Борис")
print(data)
defaultdict(<class 'list'>, {'users': ['Анна', 'Борис']})
📌 Удобно при группировке данных и подсчёте значений — не нужно проверять, есть ли ключ в словаре.
Please open Telegram to view this post
VIEW IN TELEGRAM