Я хочу динамически реализовать метод __str__
на объекте, если объект еще не реализовал его.
Я пытаюсь использовать hasattr(obj, '__str__')
, он всегда возвращает мне истину, так как берет его из класса объекта.
Есть ли способ определить, действительно ли объект реализует __str__
?
Я знаю, что могу использовать inspect.getmembers(obj)
, но я ищу более питонический способ
EDIT
class Employee(object):
def __init__(self, name, age, emp_code):
self.name = name
self.age = age
self.emp_code = emp_code
Test
e = Employee("A", 23, "E1")
print hasattr(e, '__str__')
>> True
Я хочу чек, который возвращает False
вместо выбора метода, унаследованного от object
.