先来看一段代码

class Foo():

"""docstring for Foo"""

def __init__(self, name):

self.name = name

f = Foo("xiaohong")

print(f)

l = list("hello")

print(l)

执行结果为:

['h', 'e', 'l', 'l', 'o']

python中一切皆对象,f是Foo类的实例,l是List类的实例,但是print出来的东西却完全不一样,原因就是print函数触发的是产生实例的类的str方法,若该类没有str方法就找repr方法,若repr方法也没有就会返回像第一行这样的东西,我们都知道str调用的是类的__str__()方法,repr调用的是类的__repr__()方法,所以我们知道应该怎么修改Foo类了,那就加一个__str__()吧,

class Foo():

"""docstring for Foo"""

def __init__(self, name):

self.name = name

def __str__(self):

return self.name

f = Foo("xiaohong")

print(f)

执行结果为:

xiaohong

总结一下,想要print你的类,就添加__str__()方法或者__repr__()方法,需要注意的是不管是__str__()还是__repr__(),它们的返回值必须是字符串类型,不然会报如下的错误:

TypeError: __str__ returned non-string (type int)

python repr函数_python的str和repr函数相关推荐

  1. python __repr__用法_Python 中 str 和 repr 的区别

    Alex总结得很好,但是也太简洁了. 首先让我来重复下Alex的总结的要点: 缺省实现是没用的(很难说不是,但是没错) __repr__的目标是准确性 __str__的目标是可读性 容器的__str_ ...

  2. python中str函数_python字符串str的常用函数

    1 大小写相关的函数,将字符串改成大写upper,改成小写lower,大小写切换swapcase,首字母大写capitalize,每个单词的首字母大写title,判断是否为大写isupper,判断是否 ...

  3. python中的repr是什么意思_python中str和repr有什么区别

    python中str和repr有什么区别?下面给大家详细介绍: 1.内建函数str()和repr() 或反引号操作符(``)可以方便地以字符串的方式获取对象的内容.类型.数值属性等信息. 2.str( ...

  4. python __repr__用法_python中str和repr_关于Python中repr和str用法的区别?

    我们在用Python的时候,有时候会发现在交互模式下直接输入一个变量跟输入print(变量)打印出来的东西是不一样的. 还有时候,我们打印一个对象,得到的不是我们想要的它的值,而是一个内存地址. 这些 ...

  5. python str和repr的区别_python中str和repr的区别是什么

    python中str和repr的区别是什么 发布时间:2020-09-09 13:49:03 来源:亿速云 阅读:72 作者:小新 小编给大家分享一下python中str和repr的区别是什么,希望大 ...

  6. python中str函数用法_python中str内置函数用法总结

    大家在使用python的过程中,应该在敲代码的时候经常遇到str内置函数,为了防止大家搞混,本文整理归纳了str内置函数.1字符串查找类:find.index:2.字符串判断类:islower.isa ...

  7. python中内置函数的用法_python中str内置函数用法总结

    大家在使用python的过程中,应该在敲代码的时候经常遇到str内置函数,为了防止大家搞混,本文整理归纳了str内置函数.1字符串查找类:find.index:2.字符串判断类:islower.isa ...

  8. python一共有多少个内置函数_Python 35个内置函数,你都ok吗?

    Python一共有60多个内置函数,今天先梳理其中35 个 1 abs() 绝对值或复数的模 In [1]: abs(-6) Out[1]: 6 . 2 all() 接受一个迭代器,如果迭代器的所有元 ...

  9. python nums函数_Python中的内置函数

    Python中有很多内置函数,不需要我们调用模块可以直接使用,而且都是常用函数的封装,下面我们来看看Python中的内置函数都有那些. 1.abs() abs()是绝对值函数,把一个负数转化为正数,数 ...

最新文章

  1. dhcp snooping+IPSG的一些理解
  2. java heep space错误解决办法
  3. Java实现文件压缩与解压[zip格式,gzip格式]
  4. [Java5新特性] 动态代理
  5. AspectJ注解版和XML版
  6. 干货:18 张思维导图,后端技术学习路线长这样!
  7. 代码英雄:波澜壮阔的操作系统之战(音频+长文)
  8. React怎样从函数中辨别类
  9. POST 方式上传图片
  10. Atitit 稳定性提升的艺术 之技术解决之道 目录 1. 2. 为什么会发生稳定性问题 1 1 2. 大原则 1 2.1. 尽快释放资源类似php最好的稳定性 1 2.2. Nginx 负载均衡
  11. paip.ASP 开发调试大总结
  12. 文本文档如何运行c语言代码,文本文档代码写好了怎么运行
  13. 微型计算机原理目录,微型计算机原理与应用 目录
  14. GooFlow流程设计工具结合Easyui设计工作流
  15. 网易公开课计算机原理,网易公开课给大一新生“量身订做”精品课程
  16. 坚果云云盘告诉你如何保护自己的文件不被泄露?
  17. MC34063降压电路
  18. 斑凶鹰来袭,斑鸠逃生
  19. Mysql学习笔记(一)学完就出师系列哈哈哈
  20. python计算bmi的编程_Python学习-计算BMI的小程序

热门文章

  1. 在MySQL中实现交叉表查询2(动态交叉表)
  2. 最具影响力30人,托起移动医疗千万市场
  3. [小o地图-数据] - 获取全国行政区划轮廓数据(上)
  4. 关于一次pkgs --update错误记录(cmd_package_update 451)
  5. word2007目录排版问题
  6. 倒排索引c语言,Inverted Index(倒排索引)
  7. 支持自动查找和选择的ComboBox的具体实现
  8. 【USACO题库】3.2.4 Feed Ratios饲料调配
  9. 贝恩分类法(行业集中度)
  10. 2019.08.12【NOIP提高组】模拟 A 组