Python 创建类人物和祖先
您好,您有以下问题吗 创建一个类Person,以使用姓名、出生年份、死亡年份(如果此人仍然活着,则无),并引用表示此人父亲和母亲的其他两个Person对象来表示此人。该类应定义以下三种方法:Python 创建类人物和祖先,python,class,Python,Class,您好,您有以下问题吗 创建一个类Person,以使用姓名、出生年份、死亡年份(如果此人仍然活着,则无),并引用表示此人父亲和母亲的其他两个Person对象来表示此人。该类应定义以下三种方法: 所有参数都具有默认值None的构造函数人员(姓名、母亲、父亲、出生、死亡) str返回字符串“name born dead” 祖先()返回一个元组(名称字符串、递归父祖先、递归母祖先)(参见下面的示例) 创建第二个类AnnotatedPerson,它是Person的子类,允许每个人都用注释进行注释,注释
- 所有参数都具有默认值None的构造函数人员(姓名、母亲、父亲、出生、死亡)
- str返回字符串“name born dead”
- 祖先()返回一个元组(名称字符串、递归父祖先、递归母祖先)(参见下面的示例)
class Person:
def __init__(self,name, mother, father, born, died):
self.name = None
self.mother = None
self.father = None
self.born = None
self.died = None
def str(self):
return print(("'%s', '%s'" %(self.name, self.born)))
benny = Person('Benny','grethe','ole',1999,'none')
print(benny.str())
但是没有给任何有用的东西。我哪里做错了?你能为问题的下一部分给出一个提示吗。
我在用Python写东西
提前感谢您正在将所有值初始化为“无”,而不是将实际参数保存在构造函数中
class Person:
def __init__(self, name = None, mother = None, father = None, born = None, died = None): # None if not specified
self.name = name
self.mother = mother
self.father = father
self.born = born
self.died = died
def __str__(self):
return "{} {}".format(self.name, self.born) # returns string not None (return value of print())
benny = Person('Benny', 'grethe', 'ole', 1999) # died will be None
print(str(benny))
这样,如果在创建新对象时未指定所有参数,则所有参数都将为“无”。另外,返回print将为您提供str()
中的值None