我正在重构一些代码,我想我可以使用一点反射!所以,我现在有这个:
def f(self, clazz):
[...]
boolean = False
if hasattr(clazz_instace, 'some_attribute'):
setattr(clazz_instace, 'some_attribute', True)
boolean = True
if boolean:
result = getattr(clazz_instace, 'another_method')(None, request=request)
return result['objects']
sorted_objects = getattr(clazz_instace, 'One_more_method')(request)
result = getattr(clazz_instace, 'another_method')(sorted_objects, request=request)
return [...]
我的问题是关于我用来指示我正在搜索的关于 clazz_instance 的方法的字符串。我想知道是否有另一种最好的方法来做我所做的事情(具体来说是动态的)?我的意思是,如果我能以不同的方式验证这些方法,而不是像我一样直接将方法的名称放在字符串中,那将是非常好的。
你能给出一些好的想法吗?你会怎么做?
提前致谢!!!