Chinaunix首页 | 论坛 | 博客
  • 博客访问: 855769
  • 博文数量: 253
  • 博客积分: 6891
  • 博客等级: 准将
  • 技术积分: 2502
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-03 11:01
文章分类

全部博文(253)

文章存档

2016年(4)

2013年(3)

2012年(32)

2011年(184)

2010年(30)

分类: Python/Ruby

2012-02-24 10:04:23

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函数调用的时候返回的内容。


阅读(9915) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~