为什么要讲 __str__

  • 在 Python 中,直接 print 一个实例对象,默认是输出这个对象由哪个类创建的对象,以及在内存中的地址(十六进制表示)
  • 假设在开发调试过程中,希望使用 print 实例对象时,输出自定义内容,就可以用 __str__ 方法了
  • 或者通过 str() 调用对象也会返回 __str__ 方法返回的值

重点

必须返回字符串

不使用 __str__ 的栗子

class PoloBlog:
def __init__(self, name):
self.name = name blog1 = PoloBlog("小菠萝")
print(blog1) # 输出结果
<__main__.PoloBlog object at 0x1078a4dc0>

新增 __str__ 方法

class PoloBlog:
def __init__(self, name):
self.name = name def __str__(self):
return "name is %s" % self.name blog1 = PoloBlog("小菠萝")
print(blog1)
print(str(blog1)) # 输出结果
name is 小菠萝
name is 小菠萝

最新文章

  1. Django-跨站请求
  2. linux下查看进程状态
  3. ComponentOne Studio for Enterprise 2015 v1 全新发布
  4. 重学STM32---(三) 中断分组和优先级
  5. 基于List集合映射
  6. 数组 寻找最大的第k个数
  7. FFT Golang 实现
  8. C++对象的自销毁
  9. oc 获取当前时间
  10. 【BZOJ3110】【整体二分+树状数组区间修改/线段树】K大数查询
  11. 如何让phpmyadmin输入密码再进入
  12. XLSReadWriteII5使用参考
  13. QTL定位相关
  14. NPOI 关于Excel的学习
  15. Python cv2 OpenCV 中传统图片格式与 base64 转换
  16. maven(二)
  17. python学习笔记之——python面向对象
  18. dp入门求最大公共子序列
  19. web 应用请求乱码问题
  20. csu1510 Happy Robot 递推

热门文章

  1. GoAhead 远程命令执行漏洞(CVE-2017-17562)
  2. 论文笔记:(CVPR2019)Relation-Shape Convolutional Neural Network for Point Cloud Analysis
  3. 【FATE】设置虚拟机固定IP以及免密登录
  4. Dubbo 实现一个Route Factory(用于灰度发布)
  5. 使用js实现全选功能。(全选,全不选,反选)
  6. Java方法02——定义与调用
  7. Android全新UI编程 - Jetpack Compose 超详细教程
  8. 我是如何在一晚上拿到阿里巴巴Android研发offer的?
  9. Clipboard Manager on Xfce
  10. Spring学习01(IOC)