Python repr() 或str() 函数, 反引号 分类: python 2013-05-30 10:47 306人阅读 评论(0) 收藏

Python 有办法将任意值转为字符串:将它传入repr() 或str() 函数。

函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式(如果没有等价的
语法,则会发生SyntaxError 异常) 某对象没有适于人阅读的解释形式的话, str() 会返回与repr()

等同的值。很多类型,诸如数值或链表、字典这样的结构,针对各函数都有着统一的解读方式。字符串和
浮点数,有着独特的解读方式。
Some examples:
下面有些例子
  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\n'
  17. >>> hellos = repr(hello)
  18. >>> print hellos
  19. 'hello, world\n'
  20. >>> # The argument to repr() may be any Python object:
  21. ... repr((x, y, ('spam', 'eggs')))
  22. "(32.5, 40000, ('spam', 'eggs'))"

repr函数用来取得对象的规范字符串表示。反引号(也称转换符)可以完成相同的功能。注
意,在大多数时候有eval(repr(object)) == object。
  1. >>> i = []
  2. >>> i.append('item')
  3. >>> `i`
  4. "['item']"
  5. >>> repr(i)
  6. "['item']"

基本上,repr函数和反引号用来获取对象的可打印的表示形式。你可以通过定义类的
__repr__方法来控制你的对象在被repr函数调用的时候返回的内容。
posted @ 2013-05-30 10:47  前行者2011  阅读(160)  评论(0编辑  收藏  举报