@mkone112
Начинающий питонист.

Как различать статический метод и метод экземпляра, не создавая экземпляра?

Как различать атрибуты класса со статическими методами и методами экземпляра? Не могу придумать как их дифференцировать учитывая что staticmethod просто переопределяет __get__. Различает ли их что-то до создания экземпляра?
import inspect

class Methods:
    def f_0(self):
        print('is instance method')

    @staticmethod
    def f_1(arg):
        print(f'is static method with arg={arg}')

>> inspect.isfunction(Methods.f_0)
True

>> inspect.isfunction(Methods.f_1)
True
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
@bacon
print(Methods.f_0) vs print(Methods.f_1)
len(dir(Methods.f_0)) vs len(dir(Methods.f_1))
PS ха.. type(Methods.f_0) vs type(Methods.f_1)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы