repr(object)

返回一个可以用来表示对象的可打印字符串
首先,尝试生成这样一个字符串,将其传给 eval()可重新生成同样的对象 
否则,生成用尖括号包住的字符串,包含类型名和额外的信息(比如地址) 
一个类(class)可以通过 __repr__() 成员来控制repr()函数作用在其实例上时的行为。

str([object])

返回一个可以用来表示对象的可打印的友好的字符串.
对字符串,返回本身。 
没有参数,则返回空字符串 
对类,可通过 __str__() 成员控制其行为。该成员不存在,则使用其 __repr__() 成员。
与 repr 区别:不总是尝试生成一个传给 eval 的字符串,其目标是可打印字符串。

python2 中:

__repr__()
 如前所述
 
__str__()
 如前所述,返回字符串(字节流)
 
__unicode__()
 返回unicode字符串

实现类时,应该实现 __unicode__(),然后提供了一个某种编码的 __str__()

def __str__(self):    return unicode(self).encode('utf-8')
在python3中: __str__() 直接就是 unicode,字节流由__bytes__()提供。

python的class的__str__()和__repr__()函数相关推荐

  1. python中魔法方法__str__与__repr__的区别

    提出问题 当我们自定义一个类时,打印这个类对象或者在交互模式下直接输入这个类对象按回车,默认显示出来的信息好像用处不大.如下所示 In [1]: class People: ...: def __in ...

  2. python的class的__str__和__repr__(转)

    本文参考自: https://stackoverflow.com/questions/18393701/the-difference-between-str-and-repr?noredirect=1 ...

  3. python中repr_python中__str__和__repr__的区别

    __str__是在str()函数被使用,或是在print函数打印一个对象的时候才被调用的,并且它返回的字符串对终端用户更友好. 如果只想实现这两个特殊方法中的一个,__repr__是更好的选择,因为如 ...

  4. python中str函数_一文让你彻底搞懂Python中__str__和__repr__?

    __str__和__repr__的异同? 字符串的表示形式 我们都知道,Python的内置函数repr()能够把对象用字符串的形式表达出来,方便我们辨认.这就是"字符串表示形式". ...

  5. python中__str__与__repr__

    (1)背景 python中,对于类(自定义类)的实例对象的默认显示既没有太大用处,也不美观.比如: 1 class adder: 2 def __init__(self,value=0): 3 sel ...

  6. python中与0xf2相等的是_python中__str__与__repr__

    (1)背景 python中,对于类(自定义类)的实例对象的默认显示既没有太大用处,也不美观.比如: 1 classadder:2 def __init__(self,value=0):3 self.d ...

  7. python中的repr_python中的 __repr__和__str__

    __repr__,被内置函数repr用于把一个对象用"官方"的字符串形式表示出来(终端友好) 1.值传给eval()来返回一个对象的字符串表示形式 2.否则返回一个尖括号括起来的字 ...

  8. 【Python面向对象编程】第11篇 特殊方法之__str__和__repr__

    本篇我们介绍如何利用 Python __str__ 和 __repr__ 方法定义对象的字符串表示,以及它们之间的区别. __str__ 方法简介 以下代码定义了一个类 Person: class P ...

  9. python中 __str__和__repr__

    如果要把一个类的实例变成 str,就需要实现特殊方法__str__(): class Person(object):def __init__(self, name, gender):self.name ...

最新文章

  1. 广州Robotaxi铁三角又落地,文远知行商业化通行证摊牌
  2. 基于Centos7构建Kubernetes平台
  3. 最好的编程名言,大家一起来共勉----转载
  4. 【NLP】Transformer详解
  5. 第五章 数组和指针的关系
  6. android tv 帮助,android TV端各类焦点问题
  7. 做数据分析已经会Excel了,还要学Python吗?
  8. Linux的学习之路grep命令
  9. Delphi中TEdgeBrowser控件初探
  10. 弱监督学习综述-周志华(ML论文阅读笔记1)
  11. lants vs Zombies 阳光修改器
  12. Mac通过转接口用千兆网线连接电信宽带
  13. 如何解决High Sierra 10.13.6 系统iCloud无法连接的问题?
  14. C语言如何做出简易贪食蛇
  15. STM32F103系列之移植uCOS-II
  16. android唱吧源码,Android版唱吧K歌王
  17. ubuntu14.04快捷键控制笔记本触摸板的开启与关闭
  18. 考试自动显示答案的软件或者源码
  19. MySQL 编译安装错误记录
  20. kettle的bug

热门文章

  1. tomcat及负载均衡
  2. Jmeter --- 分布式测试
  3. 使用maven构建Spring工程的一些重点
  4. Linux查看系统信息的一些命令及查看已安装软件包的命令(转)
  5. 国内首本Android开发图书之双剑
  6. java B2B2C springmvc mybatis电子商务平台源码-Consul服务发现原理...
  7. mysql字段类型、范围详解
  8. 微信公众平台开发教程(九)微信公众平台通用开发框架
  9. CentOS yum 源的配置与使用
  10. 大数据应用之双色球算奖平台总体设计大纲篇一