在这个赋值中,我必须定义一个名为Person
的类,其属性为name
、surname
和age
。我已经完成了getter和setter方法;现在我遇到了重载操作符的问题。
首先,我需要重载一个print操作符(我已经这样做了);其次,我需要重载“less than”操作符,这会导致以下错误:
TypeError: '<' not supported between instances of 'Person' and 'Person'
最后一步,我需要比较不同人群的年龄,例如:
Sabine=Person("Sabine","Musterfrau",17)
Anton_Junior=Person("Anton","Mueller",14)
print(Sabine < Anton_Junior) should return false and vice versa
我的问题是:1。类型错误和2。我已经重载了print方法,他们希望我稍后使用默认的print()
。你知道吗
这是我的密码:
from sys import stdout
class Person:
def __init__(self,vorname,nachname,alter):
self.vorname=vorname
self.nachname=nachname
self._alter=alter
def get_Alter(self):
return self._alter
def set_Alter(self,alter2):
self._alter=alter2
def print(person):
stdout.write("Name:"+person.vorname+" Nachname:"+person.nachname+" Alter:"+str(person._alter)+"\n")
def __lt__(self,other):
return self._alter() < other._alter()
Sabine=Person("Sabine","Musterfrau",17)
Sabine.set_Alter(18)
Anton_Junior=Person("Anton","Mueller",14)
Anton_Senior=Person("Anton","Mueller",80)
print(Sabine < Anton_Junior)
print(Sabine)
好的,我刚完成任务,谢谢大家!!!你知道吗
首先,
self._alter
是一个字段/属性/值(可以随意命名),而不是方法。这将帮助您:说到第二个问题:
重新定义
__str__()
方法。你知道吗相关问题 更多 >
编程相关推荐