理解Python中的repr()函数

理解Python中的repr()函数

repr():一个对象的可求值字符串表示形式(可以是“val()”,这意味着它是一个计算结果为Python对象的字符串表示)

换言之:

>>> x = 'foo'>>> repr(x)"'foo'"

问题:

  1. 为什么我要得到双引号?

    repr(x)

    ?)当我知道的时候,我不明白

    str(x))

  2. 我为什么要

    'foo'

    当我这么做的时候

    eval("'foo'")

    而不是x,哪个是物体?


拉风的咖菲猫
浏览 5008回答 3
3回答

慕姐8265434

在交互式解释器上得到的反馈使用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输出。

哈士奇WWW

1).的结果repr('foo')是弦 'foo'..在Pythonshell中,表达式的结果也表示为表示形式,因此实际上您可以看到repr(repr('foo')).2) eval计算表达式的结果。结果总是价值(如数字、字符串或对象)。多个变量可以引用相同的值,如:x = 'foo'y = xx和y现在指的是相同的值。我不知道你在这里是什么意思。你能给我举个例子吗?你想看什么?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python