Ответ:
Anonymous Quiz
13%
1
40%
1\ncleaning up
20%
1\n2\ncleaning up
27%
1, а cleaning up не выведется вообще
Модуль
dataclasses
позволяет быстро описывать классы-хранилища данных без лишнего шаблонного кода.from dataclasses import dataclass
@dataclass
class User:
name: str
age: int = 0
u = User("Анна", 25)
print(u) # User(name='Анна', age=25)
•
Автоматически создаёт __init__
, __repr__
, __eq__
•
Поддерживает значения по умолчанию•
Можно добавлять методы, как в обычном классеИдеально подходит для структурированных объектов — например, при работе с API, конфигами или моделями
Please open Telegram to view this post
VIEW IN TELEGRAM
Функция
cycle()
из модуля itertools
позволяет бесконечно перебирать элементы последовательности по кругу.from itertools import cycle
colors = ["red", "green", "blue"]
for i, color in zip(range(7), cycle(colors)):
print(color)
red
green
blue
red
green
blue
red
Работает с любыми итерируемыми объектами
Please open Telegram to view this post
VIEW IN TELEGRAM
Декоратор
lru_cache
из модуля functools
сохраняет результаты вызовов функции, чтобы не пересчитывать их заново.Это ускоряет работу, особенно для тяжёлых вычислений.
from functools import lru_cache
@lru_cache(maxsize=None)
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)
print(fib(30)) # Считает быстро благодаря кэшу
maxsize ограничивает количество сохранённых результатов (или None для безлимита).
Please open Telegram to view this post
VIEW IN TELEGRAM