str()和repr()(以及``操作符)

内建函数str()和repr()或反引号操作符(``)可以方便的获取字符串。

str它会把值转换为合理形式的字符串,可读性更好,同时对用户来说更加友好。

repr它会创建一个字符串,以合法的Python表达式的形式来表示,对Python更加的友好。

我们知道字符串都是需要添加引号,没有带引号的字符串输出都是不合法的。

>>> str('Hello,World')
'Hello,World'
>>> repr('Hello,World')
"'Hello,World'"

>>> `'Hello,world'`
"'Hello,world'"

print可以把它理解为原样输出,这样就可以很明显的看出二者的差异。
>>> print str('Hello,World')
Hello,World 返回的字符串没有加引号
>>> print repr('Hello,World')
'Hello,World' 返回的字符串加了引号

>>> print `'Hello,world'`
'Hello,world'    #可以很明显的看出,``和repr()其实在做完全一样的事情。

总结:

1.str()致力于生成一个对象的可读性更好的字符串,他的返回结果通常无法用于evel()求值,但是很适合print语句输出。

2.``和repr()返回一个合法的字符串,绝大多数情况下可以通过求值运算(使用内建函数evel())重新的到该对象

原文地址:https://www.cnblogs.com/yangmingxianshen/p/7692732.html