str()vs repr()函数在python 2.7.5中
这个问题在这里已经有了答案:
什么时候应该使用str()以及何时应该使用repr()?
在为最终用户创建输出时,几乎总是使用str()
。
repr()
主要用于调试和探索。 例如,如果您怀疑某个字符串中有非打印字符,或者float具有较小的舍入错误,则repr()
将显示您; str()
可能不会。
repr()
也可以用于生成粘贴到源代码中的文字。 它也可以用于持久化(使用ast.literal_eval
或eval
),但这不是一个好主意 - 如果你想要可编辑的持久化值,像JSON或YAML这样的东西要好得多,如果你不打算编辑他们,用泡菜。
2.在哪些情况下,我可以使用其中任何一种?
那么,你几乎可以在任何地方使用它们。 除非如上所述,否则通常不应使用它们。
3. str()
做哪个repr()
不能做的事情?
给你适合最终用户消费的输出 - 并不总是(例如,str(['spam','eggs'])不可能是你想放在GUI中的任何东西),但比repr()
。
4. repr()
执行哪个str()
不能
为您提供对调试有用的输出 - 同样,并非总是如此(用户创建的类的实例的默认值很少有用),但只要有可能。
有时会给你输出这是一个有效的Python文字或其他表达式 - 但除了交互式探索之外,你很少想要依赖它。
链接地址: http://www.djcxy.com/p/28317.html