python中str()和repr()的区别

 1 >>> s = 'Hello, world.'
 2 >>> str(s)
 3 'Hello, world.'
 4 >>> repr(s)
 5 "'Hello, world.'"
 6 >>> str(1.0/7.0)
 7 '0.142857142857'
 8 >>> repr(1.0/7.0)
 9 '0.14285714285714285'
10 >>> x = 10 * 3.25
11 >>> y = 200 * 200
12 >>> s = 'The value of x is ' + repr(x) + ', and y is ' + repr(y) + '...'
13 >>> print s
14 The value of x is 32.5, and y is 40000...
15 >>> # The repr() of a string adds string quotes and backslashes:
16 ... hello = 'hello, world
'
17 >>> hellos = repr(hello)
18 >>> print hellos
19 'hello, world
'
20 >>> # The argument to repr() may be any Python object:
21 ... repr((x, y, ('spam', 'eggs')))
22 "(32.5, 40000, ('spam', 'eggs'))"

一种是通过str函数,他会把值转换为合理形式的字符串,以便用户可以理解;另一种是通过repr函数,她会创建一个字符串,以合法的Python表达式的形式来表示值。

repr也可以做``反引号的实现。如果希望答应一个包含数字的句子,那么反引号就很有用了。比如:

1 >>> temp = 100
2 >>> print 'hello' + temp
3 
4 Traceback (most recent call last):
5   File "<pyshell#1>", line 1, in <module>
6     print 'hello' + temp
7 TypeError: cannot concatenate 'str' and 'int' objects
8 >>> print 'hello'+`temp`
9 hello100
View Code
原文地址:https://www.cnblogs.com/Blaxon/p/4455491.html