如何解决使用其他类动态更改类初始化的最佳方法是什么?
我想根据我的输入参数之一更改在我的类中处理实例变量的方式。
以下是我正在尝试做的事情:
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 举报,一经查实,本站将立刻删除。