Пусть есть класс с @property
определенными:как проверить, является ли переменным свойством
class MyClass:
...
@property
def this_is_a_property(self):
return self.some_thing
...
def this_is_a_function(self, x):
...
return other_thing
Обычно, чтобы проверить атрибутом является ли функция, я могу использовать isfunction
из inspect
модуля.
import inspect
if inspect.isfunction(MyClass.__dict__['this_is_a_function']):
print('this_is_a_function',' is a function')
Как я могу проверить property
? Кажется, нет функции inspect.isproperty
.
да, хотя это не верный способ проверить это; фактический экземпляр может быть * другим * дескриптором, который просто возвращает 'свойство' при поиске на классе;) (надуманный да) –