python的class的__str__()和__repr__()函数
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__()函数相关推荐
- python中魔法方法__str__与__repr__的区别
提出问题 当我们自定义一个类时,打印这个类对象或者在交互模式下直接输入这个类对象按回车,默认显示出来的信息好像用处不大.如下所示 In [1]: class People: ...: def __in ...
- python的class的__str__和__repr__(转)
本文参考自: https://stackoverflow.com/questions/18393701/the-difference-between-str-and-repr?noredirect=1 ...
- python中repr_python中__str__和__repr__的区别
__str__是在str()函数被使用,或是在print函数打印一个对象的时候才被调用的,并且它返回的字符串对终端用户更友好. 如果只想实现这两个特殊方法中的一个,__repr__是更好的选择,因为如 ...
- python中str函数_一文让你彻底搞懂Python中__str__和__repr__?
__str__和__repr__的异同? 字符串的表示形式 我们都知道,Python的内置函数repr()能够把对象用字符串的形式表达出来,方便我们辨认.这就是"字符串表示形式". ...
- python中__str__与__repr__
(1)背景 python中,对于类(自定义类)的实例对象的默认显示既没有太大用处,也不美观.比如: 1 class adder: 2 def __init__(self,value=0): 3 sel ...
- python中与0xf2相等的是_python中__str__与__repr__
(1)背景 python中,对于类(自定义类)的实例对象的默认显示既没有太大用处,也不美观.比如: 1 classadder:2 def __init__(self,value=0):3 self.d ...
- python中的repr_python中的 __repr__和__str__
__repr__,被内置函数repr用于把一个对象用"官方"的字符串形式表示出来(终端友好) 1.值传给eval()来返回一个对象的字符串表示形式 2.否则返回一个尖括号括起来的字 ...
- 【Python面向对象编程】第11篇 特殊方法之__str__和__repr__
本篇我们介绍如何利用 Python __str__ 和 __repr__ 方法定义对象的字符串表示,以及它们之间的区别. __str__ 方法简介 以下代码定义了一个类 Person: class P ...
- python中 __str__和__repr__
如果要把一个类的实例变成 str,就需要实现特殊方法__str__(): class Person(object):def __init__(self, name, gender):self.name ...
最新文章
- 广州Robotaxi铁三角又落地,文远知行商业化通行证摊牌
- 基于Centos7构建Kubernetes平台
- 最好的编程名言,大家一起来共勉----转载
- 【NLP】Transformer详解
- 第五章 数组和指针的关系
- android tv 帮助,android TV端各类焦点问题
- 做数据分析已经会Excel了,还要学Python吗?
- Linux的学习之路grep命令
- Delphi中TEdgeBrowser控件初探
- 弱监督学习综述-周志华(ML论文阅读笔记1)
- lants vs Zombies 阳光修改器
- Mac通过转接口用千兆网线连接电信宽带
- 如何解决High Sierra 10.13.6 系统iCloud无法连接的问题?
- C语言如何做出简易贪食蛇
- STM32F103系列之移植uCOS-II
- android唱吧源码,Android版唱吧K歌王
- ubuntu14.04快捷键控制笔记本触摸板的开启与关闭
- 考试自动显示答案的软件或者源码
- MySQL 编译安装错误记录
- kettle的bug