repr函数python repr函数和str函数区别

菜鸟求大大们解释Python里str函数和repr函数的区别

str是工厂函数,repr是语句不是函数

创新互联专注于企业成都全网营销、网站重做改版、兰考网站定制设计、自适应品牌网站建设、H5页面制作购物商城网站建设、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为兰考等各大城市提供网站开发制作服务。

然后在魔法方法里,__str__不会返回结果,需要手动调用才会返回结果。__reprv__则可以自动返回结果。

总的来说区别不大,都一样的把对象转换成字符串

Python中repr()函数和str()的区别

repr()和str,一个最简单的区别:repr是函数,str跟int一样是一种对象类型。

repr ( object )

返回对象的可打印形式字符串。对于很多类型而言,本函数试图返回的字符串,会与将对象传给 eval() 所生成的结果相同;不然,结果就是一个尖括号包裹的字符串,包含了对象类型名称及其附加信息,附加信息通常包括对象的名称和内存地址。通过定义 __repr__() 方法,类可以控制本函数将为实例返回的内容。

class str ( object='' ) class str ( object=b'' , encoding='utf-8' , errors='strict' )

返回 object 的 字符串 版本。 如果未提供 object 则返回空字符串。 在其他情况下 str() 的行为取决于 encoding 或 errors 是否有给出,具体见下。

如果 encoding 或 errors 均未给出,str(object) 返回 object.__str__(),这是 object 的“非正式”或格式良好的字符串表示。 对于字符串对象,这是该字符串本身。 如果 object 没有 __str__() 方法,则 str() 将回退为返回 repr(object)。

如果 encoding 或 errors 至少给出其中之一,则 object 应该是一个 bytes-like object (例如 bytes 或 bytearray)。 在此情况下,如果 object 是一个 bytes (或 bytearray) 对象,则 str(bytes, encoding, errors) 等价于 bytes.decode(encoding, errors)。 否则的话,会在调用 bytes.decode() 之前获取缓冲区对象下层的 bytes 对象。 请参阅 二进制序列类型 --- bytes, bytearray, memoryview 与 缓冲协议 了解有关缓冲区对象的信息。

将一个 bytes 对象传入 str() 而不给出 encoding 或 errors 参数的操作属于第一种情况, 将返回非正式的字符串表示(另请参阅 Python 的 -b 命令行选项)。 例如:

什么时候应该使用str(),什么时候应该使用repr()?

在为最终用户创建输出时,几乎总是使用str。repr()主要用于调试和 探索 。例如,如果您怀疑字符串中有非打印字符,或者浮点数有一个小的舍入错误,则repr()将显示给您;str可能不会。repr()在生成要粘贴到源代码中的文字时也很有用。

Python里str函数和repr函数有什么区别?

这个简单

str是显示给用户用的

repr是给机器用的。

class

A(object):

def

__str__(self):

print

"this

is

A

class"

def

__repr__(self):

print

"this

is

repr

func"

a

=

A()

比如print

a

调用的是a的__str__方法

而如果你在python解释器里直接敲a后回车,调用的是a.__repr__()方法

python str和repr的区别

str与repr区别:

1、python中str函数通常把对象转换成字符串,即生成对象的可读性好的字符串,一般在输出文本时使用,或者用于合成字符串。str的输出对用户比较友好适合print输出。

2、pyton中repr函数将一个对象转成类似源代码的字符串,只用于显示。repr的输出对python友好,适合eval函数得到原来的对象。

3、在类中实现__str__和__repr__方法,就可以得到不同的返回,示例代码:

class test(object):

def __repr__(self):

return "return test repr() string."

def __str__(self):

return "return test str() string."

print(str(test()))

return test str() string.

print(repr(test()))

return test repr() string.

python当中的eval()函数是起什么作用?

python当中的eval()函数是将字符串当成有效Python表达式来求值,并返回计算结果

x = 1

eval('x+1')

eval('x==1')

与之对应的repr函数,它能够将Python的变量和表达式转换为字符串表示:

repr(x+1)

repr(x+ ‘1’-1)('x=+=1')

Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。

Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。

常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。

需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。

python __repr__的作用

1,尝试生成这样一个字符串,将其传给 eval可重新生成同样的对象 。

2,否则,生成用尖括号包住的字符串,包含类型名和额外的信息。

一,这个简单 str是显示给用户用的 repr是给机器用的。

答:

1,class A(object)

2,print "this is A class"   def __repr__(self):     print "this is repr func"  a = A() 比如print a 调用的是a的__str__方法

3,而如果你在python解释器里直接敲a后回车,调用的是a.__reprpython str和repr的区别。


本文名称:repr函数python repr函数和str函数区别
本文路径:http://scjbc.cn/article/docjped.html

其他资讯