为了账号安全,请及时绑定邮箱和手机立即绑定

理解Python中的repr()函数

理解Python中的repr()函数

拉风的咖菲猫 2019-06-25 14:33:32
理解Python中的repr()函数repr():一个对象的可求值字符串表示形式(可以是“val()”,这意味着它是一个计算结果为Python对象的字符串表示)换言之:>>> x = 'foo'>>> repr(x)"'foo'"问题:为什么我要得到双引号?repr(x)?)当我知道的时候,我不明白str(x))我为什么要'foo'当我这么做的时候eval("'foo'")而不是x,哪个是物体?
查看完整描述

3 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

在交互式解释器上得到的反馈使用repr我也是。当您输入一个表达式时(让它成为expr),解释器基本上result = expr; if result is not None: print repr(result)..所以你的例子中的第二行格式化字符串foo你想要的表示法('foo')。然后解释器创建repr对.的支持那,那个给你留下双引号。

为什么当我将%r与双引号和单引号合并后转义并打印出来,它就会以我在.py文件中写它的方式打印出来,而不是以我想看到的方式打印它?

我不知道你在问什么。正文single ' and double " quotes,穿过时repr,包括逃避一种引用。当然可以,否则它将不是Python规则中有效的字符串文字。这正是你打电话要求的repr.

还请注意,eval(repr(x)) == x比喻不是字面意思。这是一个近似,并适用于大多数(所有?)内建类型,但最主要的是,您可以很好地了解类型和逻辑“值”。repr输出。


查看完整回答
反对 回复 2019-06-25
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

1).的结果repr('foo') 'foo'..在Pythonshell中,表达式的结果也表示为表示形式,因此实际上您可以看到repr(repr('foo')).

2) eval计算表达式的结果。结果总是价值(如数字、字符串或对象)。多个变量可以引用相同的值,如:

x = 'foo'y = x

x和y现在指的是相同的值。

我不知道你在这里是什么意思。你能给我举个例子吗?你想看什么?


查看完整回答
反对 回复 2019-06-25
  • 3 回答
  • 0 关注
  • 5007 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信