首页 > 后端开发 > Python教程 > Python 的 `repr()` 函数与 `str()` 有何不同,以及为什么在其输出中添加双引号?

Python 的 `repr()` 函数与 `str()` 有何不同,以及为什么在其输出中添加双引号?

Susan Sarandon
发布: 2024-11-29 10:37:10
原创
511 人浏览过

How Does Python's `repr()` Function Differ from `str()`, and Why Are Double Quotes Added to its Output?

了解 Python 中的 repr( ) 函数

repr( ) 提供 Python 中对象的可计算字符串表示形式。它返回一个可以使用 eval( ) 函数求值的字符串,从而产生相同的对象。

问题与解答:

1。为什么要在 repr(x) 的输出中添加双引号?

repr( ) 包含带有双引号的对象的字符串表示形式,以表示可以由 eval( ) 计算的字符串文字。相反,str() 不添加引号,因为它返回字符串表示形式而不对其求值。

2.为什么 eval("'foo'") 返回 'foo' 而不是最初分配给它的对象 x?

eval( ) 将一个字符串作为输入并对其进行计算。当您调用 eval("'foo'") 时,它会解释字符串的内容并直接返回 'foo',绕过使用 x 完成的对象分配。要评估对象本身,您需要将 x 作为参数传递给 eval( )。

其他见解:

  • repr( ) 对于提供可用于稍后重建对象的字符串表示形式。
  • eval( ) 函数通常用于执行
  • str( ) 只是返回对象的字符串表示形式,而不对其进行求值。
  • Python 中的对象具有像 repr 和 __str__ 这样的神奇方法,它们自定义对象的字符串和表示形式。

以上是Python 的 `repr()` 函数与 `str()` 有何不同,以及为什么在其输出中添加双引号?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板