__str__
オブジェクトがまだメソッドを実装していない場合、オブジェクトにメソッドを動的に実装したいと考えています。
オブジェクトクラスから取得するため、使用してみるhasattr(obj, '__str__')
と常にtrueが返されます。
オブジェクトが実際に実装しているかどうかを判断する方法はあります__str__
か?
使用できることはわかっていますinspect.getmembers(obj)
が、よりPythonicな方法を探しています
編集
class Employee(object):
def __init__(self, name, age, emp_code):
self.name = name
self.age = age
self.emp_code = emp_code
テスト
e = Employee("A", 23, "E1")
print hasattr(e, '__str__')
>> True
False
から継承されたメソッドをピックアップするのではなく、返されるチェックが必要ですobject
。