求问python中的两个函数

偏执狂xj1 发布于 2012/07/27 20:42
阅读 276
收藏 0

在学习Python,遇到这样两个函数repr()和str()

话说用的书是2.5版本的,机器上装的是3.2的版本,书上关于这一段的实例用不了,就去google了一下,看到一个这样的一个实例

import math
print(repr(math.pi))
print(str(math.pi))

运行以后是这样的

>>> ============================RESTART================================
>>> 
3.141592653589793
3.141592653589793
>>> 

不懂为啥会这样的结果,莫不是特殊用法

加载中
1
LeonYoung
LeonYoung

引用一段《Python基础教程》里的话

简而言之,str、repr 和反引号是将 python 值转换为字符串的3种方法。函数 str 让字符串更容易阅读,而 repr (和反引号)则把结果字符串转换为合法的python表达式。

其实 str 和int、long一样,是一种类型,而repr仅仅是函数。str 会把值转换为合理形式的字符串,以便用户可以理解。而repr会创建一个字符串,以合法的python表达式的形式来表示值。

举个例子吧,我的环境是 python 2.7.

>>> print repr("Hello, world!")
'Hello, world!'
>>> print str("Hello, world!")
Hello, world!
>>> print repr(1000l)
1000L
>>> print str(1000l)
1000

mahone
mahone
repr出来的东西,基本上可以用eval执行,str就不一定,这应该算是最大的区别了。。。
偏执狂xj1
偏执狂xj1
谢谢这位前辈指导,我也在看《Python基础教程》,确实是本入门好书
0
Jeky
Jeky
表示没明白你想问啥 Python 2和3很多地方不一样的
偏执狂xj1
偏执狂xj1
额,忙着回宿舍,没表述清楚,其实我是想问这两个函数的区别的~不好意思
返回顶部
顶部