Что в @classmethod передается первым аргументом
Python
Middle
Без компании
Что в @classmethod передается первым аргументом
Ответы
В `@classmethod` первым аргументом передается сам класс (обычно именуется `cls`). Это позволяет обращаться к атрибутам класса и создавать его экземпляры без жесткой привязки к имени класса.
Пример:
```
class MyClass:
class_var = "class value"
@classmethod
def print_class_var(cls):
print(cls.class_var)
MyClass.print_class_var() # выведет "class value"
```
Ключевые отличия от обычных методов:
- Вместо `self` (экземпляра) получает `cls` (класс)
- Может вызываться как через класс, так и через экземпляр
- Часто используется для альтернативных конструкторов (фабричных методов)