class Yidai: def chi(self): print('吃') def he(self): print("喝") def wan(self): print("玩") def le(self): print("乐") class Erdai(Yidai): def zhongdi(self): print("种地") def fangzhi(self): print("纺织") def niangjiu(self): print("酿酒") class Sandai(Erdai): def __init__(self,name): self.name = name def jianliguojia(self): print("建立国家") def __str__(self): return f"{self.name}" tom = Sandai("汤姆") tom.chi() tom.he() tom.wan() tom.zhongdi() tom.fangzhi() tom.niangjiu() tom.jianliguojia() print(f"{tom}进行{tom.jianliguojia()}"),为什么最后print打印的是None
时间: 2023-05-28 10:02:37 浏览: 161
最后print打印的是None是因为在Sandai类中的jianliguojia方法没有返回值,导致print语句中调用这个方法返回的结果为None。如果想要print打印汤姆进行建立国家,可以将代码修改为:
class Sandai(Erdai):
def __init__(self,name):
self.name = name
def jianliguojia(self):
return "建立国家"
def __str__(self):
return f"{self.name}"
tom = Sandai("汤姆")
tom.chi()
tom.he()
tom.wan()
tom.zhongdi()
tom.fangzhi()
tom.niangjiu()
print(f"{tom}进行{tom.jianliguojia()}")
阅读全文