Python 有办法将任意值转为字符串:将它传入repr() 或str() 函数。
函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式(如果没有等价的
语法,则会发生SyntaxError 异常) 某对象没有适于人阅读的解释形式的话, str() 会返回与repr()
浮点数,有着独特的解读方式。
Some examples:
下面有些例子
- >>> s
= 'Hello, world.'
- >>> str(s)
- 'Hello, world.'
- >>> repr(s)
- "'Hello, world.'"
- >>> str(1.0/7.0)
- '0.142857142857'
- >>> repr(1.0/7.0)
- '0.14285714285714285'
- >>> x
= 10 * 3.25
- >>> y
= 200 * 200
- >>> s
= 'The value of x is '
+ repr(x)
+ ', and y is '
+ repr(y)
+ '...'
- >>>
print s
- The value of x is 32.5,
and y is 40000...
- >>> # The repr() of a string adds string quotes
and backslashes:
- ... hello
= 'hello, world\n'
- >>> hellos
= repr(hello)
- >>>
print hellos
- 'hello, world\n'
- >>> # The argument to repr() may be any Python object:
- ... repr((x, y,
('spam',
'eggs')))
- "(32.5, 40000, ('spam', 'eggs'))"
repr函数用来取得对象的规范字符串表示。反引号(也称转换符)可以完成相同的功能。注
意,在大多数时候有eval(repr(object)) == object。
- >>> i
= []
- >>> i.append('item')
- >>> `i`
- "['item']"
- >>> repr(i)
- "['item']"
基本上,repr函数和反引号用来获取对象的可打印的表示形式。你可以通过定义类的
__repr__方法来控制你的对象在被repr函数调用的时候返回的内容。