当前位置: 首页 > 面试题库 >

python 2.7.5中的str()vs repr()函数

翟誉
2023-03-14
问题内容

python 2.7.5str()repr()函数之间的区别是什么?

python.org上的说明:

str()功能是指以返回其是相当值的表示 人类可读 ,而repr()意在产生可以表示 由解释器读取
(或将强制SyntaxError如果没有相当的语法)

但这对我来说还不清楚。

一些例子:

>>> s = 'Hello, world.'
>>> str(s)
'Hello, world.'
>>> repr(s)
"'Hello, world.'"      # repr is giving an extra double quotes
>>> str(1.0/7.0)
'0.142857142857'
>>> repr(1.0/7.0)
'0.14285714285714285'  # repr is giving value with more precision

所以我想知道以下

  1. 什么str()时候应该使用repr()?什么时候应该使用?
  2. 在哪种情况下我可以使用它们中的任何一个?
  3. str()做什么不能做repr()
  4. repr()做什么不能做str()

问题答案:

我什么时候应该使用str()和什么时候应该使用repr()?

str()在为最终用户创建输出时几乎总是使用。

repr()主要用于调试和探索。例如,如果您怀疑一个字符串中没有打印字符,或者一个浮点数有一个小的四舍五入错误,repr()它将显示给您;str()不得。

repr()在生成要粘贴到源代码中的文字时也很有用。它也可以用于持久性(使用ast.literal_evaleval),但这不是一个好主意-
如果您想要可编辑的持久性值,则像JSON或YAML之类的更好,如果您不打算对其进行编辑,请使用pickle 。

2.在什么情况下我可以使用它们中的任何一个?

好了,你 可以 在几乎任何地方使用它们。你 不应该 通常使用它们作为上述除。

3.str()做什么不能做repr()

为您提供适合最终用户使用的输出-
并非总是如此(例如,str([‘spam’,’eggs’])不太可能是您要放在GUI中的任何东西),但是比起更多repr()

4.什么可以repr()做哪些str()不可以

再次为您提供对调试有用的输出-并非总是如此(用户创建的类的实例的默认值很少有帮助),但会尽可能输出。

有时会为您提供有效的Python文字或其他表达式的输出-但除了交互式探索之外,您几乎不想依赖它。



 类似资料:
  • Python 内置函数 描述 str() 函数将对象转化为适于人阅读的形式。 语法 以下是 str() 方法的语法: class str(object='') 参数 object -- 对象。 返回值 返回一个对象的string格式。 实例 以下展示了使用 str() 方法的实例:>>>s = 'RUNOOB' >>> str(s) 'RUNOOB' >>> dict = {'runoob':

  • str

    字符串的串联可以通过简单的str函数完成。 语法 (Syntax) 以下是语法。 str stringvar1 stringvar2 stringvarn Parameters - 您可以输入任意数量的需要连接的字符串参数。 Return Value - 返回值是一个字符串。 例子 (Example) 以下是Clojure中字符串连接的示例。 (ns clojure.examples.hello

  • str

    该方法返回字符串中子字符串的索引位置。 语法 (Syntax) str(str1,str2) 参数 (Parameters) str1 - 这是需要搜索的字符串。 Chr1 - 这是需要在字符串中搜索的字符。 返回值 (Return Value) 返回字符串中字符的索引位置。 例如 (For example) -module(helloworld). -import(string,[str/2

  • 问题内容: 每当我运行这个程序我都会得到这个 我该怎么做才能将pyc除以tpy? 问题答案: 通过将它们变成整数: 在python 3中,该函数返回一个字符串。总是。这是对Python 2的更改;该功能已重命名为。

  • Only for gradients! Updates stops of the gradient based on passed gradient descriptor. See Ppaer.gradient Parameters strstringgradient descriptor part after (). Returns: object gradient element var g

  • 描述 (Description) 方法str()生成字典的可打印字符串表示。 语法 (Syntax) 以下是str()方法的语法 - str(dict) 参数 (Parameters) dict - 这是字典。 返回值 (Return Value) 此方法返回字符串表示。 例子 (Example) 以下示例显示了str()方法的用法。 #!/usr/bin/python dict = {'Nam