打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python基础语法学习(第三讲)

新语法知识:__str__(self)

解释一下:只要在类中定义了__str__(self)方法,那么当使用print打印实例对象的时候,就会直接打印出在这个方法中return的数据。

来个代码解释一下:

  1. class Book:
  2. def __init__(self, name, author, comment, state = 0):
  3. self.name = name
  4. self.author = author
  5. self.comment = comment
  6. self.state = state
  7. def show_info(self):
  8. if self.state == 0:
  9. status = '未借出'
  10. else:
  11. status = '已借出'
  12. return '名称:《%s》 作者:%s 推荐语:%s\n状态:%s ' % (self.name, self.author, self.comment, status)
  13. book1 = Book('像自由一样美丽', '林达', '你要用光明来定义黑暗,用黑暗来定义光明')
  14. # 传入参数,创建实例
  15. print(book1.show_info())
  16. #调用实例方法show_info(),打印出返回值

如果你把这里的show_info改成__str__(self)后,代码是这样的:

  1. class Book:
  2. def __init__(self, name, author, comment, state = 0):
  3. self.name = name
  4. self.author = author
  5. self.comment = comment
  6. self.state = state
  7. def __str__(self):
  8. if self.state == 0:
  9. status = '未借出'
  10. else:
  11. status = '已借出'
  12. return '名称:《%s》 作者:%s 推荐语:%s\n状态:%s ' % (self.name, self.author, self.comment, status)
  13. book1 = Book('像自由一样美丽','林达','你要用光明来定义黑暗,用黑暗来定义光明')
  14. # 传入参数,创建实例对象
  15. print(book1)
  16. # 直接打印对象即可,不能写成print(book1.__str__())

这就是这个方法的好处,你可以利用这个方法的返回值直接打印对象。

后面还会更新作业报错的问题,时间不够23333我晚上再说

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
python多线程实现http请求
Django 源码小剖: 应用程序入口 WSGIHandler
接口测试框架——第三篇:发送(requests)
接口测试 | 24 requests + unittest集成你的接口测试
极简python教程03:语句方法类,简单过之
PyQt信号与槽之信号与槽的入门应用(一)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服