다음은 유스 케이스입니다. 클래스 인스턴스를 json 또는 python 사전 값으로 사용하는 방법
class EvaluateCustomMethod(object):
faker = Faker()
def __init__(self, custom_method, cardinality=1):
self.custom_method = custom_method
self.cardinality = cardinality
@property
def random_first_name(self):
return self.faker.first.name()
def call_method_n_times(self):
return [getattr(self, self.custom_method) \
for _ in range(self.cardinality)]
f = EvaluateCustomMethod('random_first_name', 1)
f.call_method_n_times()
는 내가 객체를 인스턴스화 한 후 메서드 호출을 내가 인스턴스를 만들 때 직접 내 목표를 달성 할 필요가 없습니다 수있는 방법을 찾기 위해 노력하고있다.
내 궁극적 인 목표는 이것이다 : 할
{"test" : {"name" : EvaluateCustomMethod('random_first_name', 1)}}
이것은 다음 이전 question
이 질문은 다른 [1] (http://stackoverflow.com/questions/43944858/how-to-pass-method-name-as-a-parameter-in- python-class/43945029 # 43945029). 이것은 SO에 대한 일반적인 관행입니다. – Kanak
당신이 ('__new__' 메소드를 오버라이드하여) 할 수있다하더라도 이것을하지 말아야합니다. EvaluateCustomMethod를 함수로 리팩토링하면됩니다. – rantanplan