python - 如何让 __init__ 返回一个字符串?
问题描述
在这里,我试图返回一个字符串,但构造函数只能返回一个None
值。有什么办法吗?
class company:
def __init__(self):
self.first_name = str(input("Enter your first name: "))
self.last_name = str(input("Enter your last name: "))
self.fullname = self.first_name + " " +self.last_name
return self.fullname
class salary:
pay = int(input("Please enter the pay: "))
def incre(self):
self.increment = self.pay + 1000
return self.increment
class Multiderived(company, salary): # here I am using multiple inheritance
def output(self):
company.__init__(self)
salary.incre(self)
print ("Your full name is: ", self.fullname)
print ("Your salary is: ", self.increment)
u = Multiderived()
u.output()
在这段代码中,我必须使用多重继承将两个超类的值访问到一个派生类中,但第一个超类的构造函数不能返回字符串。有没有办法解决它。
解决方案
你不能。您试图通过以下方式打破 python 规则: 请参阅以下文档object.__init__()
:
因为
__new__()
和__init__()
一起构造对象(__new__()
创建对象和__init__()
自定义对象),所以;不能返回非 None 值。__init__()
这样做会导致 aTypeError
在运行时引发。
(强调我的)
推荐阅读
- r - 如何重新排序列并通过重新排序包含该行中的所有值?
- r - 使用计算列将 R 数据框从宽更改为长
- amazon-web-services - 为 VPN 经典类别创建自定义 CloudWatch 指标
- django - 如何创建用于处理多个 django 模型对象的表单
- javascript - Javascript 幕后——Generator 的变量
- javascript - 在nodejs中传递数组时从MySql表中删除批量记录
- c++ - C++ 使用模板实现包含多种类型的树
- javascript - 使用 Dart 在 HTML 页面中查找 H1 标签的内容?
- r - 在 R 中设置轴中断的可能性
- html - Google Page Speed Insights 出现错误,并且无法在我创建的一个网站上运行,