问题描述
我想根据我的输入参数之一更改在我的类中处理实例变量的方式。
以下是我正在尝试做的事情:
from helpers import Helper1,Helper2
class MainClass:
def __init__(self,var1,var2,category):
self.var1 = var1
self.var2 = var2
self.helperType = self._get_helper(category)
# from here I need helperType to define how var1 and var2 are processed further
def _get_helper(self,category):
if category == 'type1':
return Helper1()
elif category == 'type2':
return Helper2()
我计划不断添加更多帮助程序类型来处理稍微不同的情况,并且更愿意将它们的逻辑分开,而不是使用每个实例的自定义代码来膨胀我的 MainClass。例如,var1
始终是字符串,某些类型可能需要将其反转,其他类型可能需要大写。
在其他地方,我希望能够创建基于 MainClass
参数动态设置其属性的 category
实例,但内部发生的事情的细节无关紧要,所以我试图包含它在MainClass
。
我相信我可以通过多种方式完成这项工作,但我的想法似乎都不是特别干净或可靠。我已经研究了一些潜在的选项,例如猴子修补、继承和类装饰器,但我不确定它们是否符合我的需求。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)