python - 如何将构造函数继承到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()
解决方案
你可以这样编码:
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
推荐阅读
- python - NoReverseMatch at / Reverse for 'detail' with arguments '('',)' 未找到。尝试了 1 种模式:
- azure - 如何将我的发布文件移动到 Azure 构建过程的下一步?
- ios - 有条件地显示列表后导航返回时崩溃
- python - Beautifulsoup - 为什么我正在抓取的图像没有保存?
- snowflake-cloud-data-platform - 生成一个windows脚本来创建用户并发的步骤?
- python - matplotlib:删除 ax 周围的所有图形边距,然后显示
- angular - 角度插值语法:从所有子对象中计算所有子对象
- spring - java.sql.SQLException:字段 'userid' 没有默认值?
- c++ - 带有运算符语法但不带有函数语法的错误消息
- python - Python 调试:有没有一个工具可以让你在异常发生时输入函数(就像断点一样)?