python str 与repr区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python str 与repr区别相关的知识,希望对你有一定的参考价值。
Python打印值的时候会保持该值在Python代码中的状态,不是用户所希望看到的状态。而使用print打印值则不一样,print打印出来的值是用户所希望看到的状态。
例如:
>>> "Hello, world!"
‘Hello, world!‘ # Python打印出来的值是给python理解的,这里python理解为字符串,所以带着引号
>>> 1000L # python理解为Long型的数字,所以它打印出来的时候也带着后缀L
1000L
>>> print "Hello, world!" # 打印一个字符串,给用户看的,所以不带引号
Hello, world!
>>> print 1000L # 用户看到的当然是一个数字1000,而不是字符串1000L
1000
str和repr实际就分别对应上述两种显示方式。
-
str
把值转换为合理形式的字符串,给用户看的。str实际上类似于int,long,是一种类型。
>>> print str("Hello, world!") Hello, world! >>> print str(1000L) 1000 >>> str("Hello, world!") ‘Hello, world!‘ # 字符串转换之后仍然是字符串 >>> str(1000L) ‘1000‘
-
repr()
创建一个字符串,以合法python表达式的形式来表示值。repr()是一个函数。
>>> print repr("Hello, world!") ‘Hello, world!‘ >>> print repr(1000L) 1000L >>> repr("Hello, world!") "‘Hello, world!‘" >>> repr(1000L) ‘1000L‘
总而言之,str出来的值是给人看的字符串,repr出来的值是给机器看的,括号中的任何内容出来后都是在它之上再加上一层引号。
以上是关于python str 与repr区别的主要内容,如果未能解决你的问题,请参考以下文章
Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用