Встречается на собеседованиях • сегодня

Какие знаешь встроенные декораторы

В Python есть несколько встроенных декораторов, вот основные:

  1. @property – превращает метод в атрибут для удобного доступа:
python
class Circle:
    def __init__(self, radius):
        self._radius = radius
    
    @property
    def radius(self):
        return self._radius
  1. @classmethod – делает метод классомым (первый аргумент - класс):
python
class MyClass:
    @classmethod
    def from_string(cls, string):
        return cls(int(string))
  1. @staticmethod – делает метод статическим (без self/cls):
python
class Math:
    @staticmethod
    def add(a, b):
        return a + b
  1. @functools.cache (Python 3.9+) – кэширует результаты функции:
python
from functools import cache

@cache
def factorial(n):
    return n * factorial(n-1) if n else 1
  1. @functools.lru_cache – кэширование с ограничением размера:
python
from functools import lru_cache

@lru_cache(maxsize=32)
def get_data(key):
    return expensive_operation(key)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы