首页 > 解决方案 > 在python中构造一个类而不直接调用构造函数

问题描述

在 python 中,如果我们定义一个名为 Start 的类并使用如下所示的参数对其进行初始化...

class Start:
   def __init__(self, a):
      self.a = a

一旦定义,并且在将 Start 导入另一个 python 文件后,有什么方法可以在类中创建函数或属性,以便我可以像这样直接构造类?

# Start.make or Start.make()
# Sample usage below
s = Start.make #initializes Start with the argument of 1

我要做的是让 Start.make 完成相同的目标,Start(1)这样我就可以潜在地创建其他构造常用值的方法,而无需手动将参数放入Start()构造函数中。这在 Python 中是否可能?如果没有,我可以遵循任何替代解决方案来达到类似的结果吗?

标签: pythonclassinheritancemethods

解决方案


使用静态方法:

class Start:
    def __init__(self, a):
        self.a = a

    @staticmethod
    def make():
        return Start(1)

s = Start.make()

推荐阅读