Встречается на собеседованиях • сегодня
Какие знаешь встроенные декораторы
В Python есть несколько встроенных декораторов, вот основные:
@property– превращает метод в атрибут класса (геттер):
python
class Circle:
def __init__(self, radius):
self._radius = radius
@property
def radius(self):
return self._radius@classmethod– делает метод методом класса (первый аргументcls):
python
class MyClass:
@classmethod
def from_string(cls, string):
return cls(int(string))@staticmethod– делает метод статическим (нет доступа кselfилиcls):
python
class Math:
@staticmethod
def add(a, b):
return a + b@functools.cache(Python 3.9+) – кеширует результаты функции:
python
import functools
@functools.cache
def factorial(n):
return n * factorial(n-1) if n else 1@functools.lru_cache– кеширует с ограничением по размеру:
python
@functools.lru_cache(maxsize=32)
def get_data(key):
return expensive_operation(key)
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы