新语法知识:__str__(self) 解释一下:只要在类中定义了__str__(self) 方法,那么当使用print 打印实例对象的时候,就会直接打印出在这个方法中return 的数据。 来个代码解释一下: def __init__(self, name, author, comment, state = 0): return '名称:《%s》 作者:%s 推荐语:%s\n状态:%s ' % (self.name, self.author, self.comment, status) book1 = Book('像自由一样美丽', '林达', '你要用光明来定义黑暗,用黑暗来定义光明') #调用实例方法show_info(),打印出返回值
如果你把这里的show_info改成__str__(self)后,代码是这样的: def __init__(self, name, author, comment, state = 0): return '名称:《%s》 作者:%s 推荐语:%s\n状态:%s ' % (self.name, self.author, self.comment, status) book1 = Book('像自由一样美丽','林达','你要用光明来定义黑暗,用黑暗来定义光明') # 直接打印对象即可,不能写成print(book1.__str__())
这就是这个方法的好处,你可以利用这个方法的返回值直接打印对象。 后面还会更新作业报错的问题,时间不够23333我晚上再说
|