python str 与repr区别,,Python打印值的


Python打印值的时候会保持该值在Python代码中的状态,不是用户所希望看到的状态。而使用print打印值则不一样,print打印出来的值是用户所希望看到的状态。
例如:

>>> "Hello, world!"‘Hello, world!‘   # Python打印出来的值是给python理解的,这里python理解为字符串,所以带着引号>>> 1000L         # python理解为Long型的数字,所以它打印出来的时候也带着后缀L1000L>>> print "Hello, world!"    # 打印一个字符串,给用户看的,所以不带引号Hello, world!>>> print 1000L              # 用户看到的当然是一个数字1000,而不是字符串1000L1000

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区别

评论关闭