首页 > 解决方案 > 如何将构造函数继承到python中的类方法中

问题描述

我有一个基类构造函数。从那我想继承到类方法中。但它显示像 TypeError: __init__() missing 1 required positional argument: 'name'这样的错误

这是我的代码片段。

class A:
  def __init__(self,name):
    self.name = name
  def m1(self):
    print(self.name)
class B(A):
 @classmethod
 def m2(cls):
    super(B,cls).__init__(cls.m1)
b=B('siddarth')
b.m2 ()

这是另一个例子。但在构造函数中没有任何参数它工作正常。

 class A:
  def __init__(self):
    print('This is constructor method..!!')
class B(A):
 @classmethod
 def m2(cls):
    super(B,cls).__init__(cls)
b=B('siddarth')
b.m2()

标签: pythonpython-3.x

解决方案


你可以这样编码:

class A:
  def __init__(self,name):
    self.name = name
  def m1(self):
    print(self.name)
class B(A):
 def __init__(self, cls):
    super(B, self).__init__(cls)
b=B('siddarth')
b.m1()

输出

siddarth


推荐阅读