亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

理解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 關注
  • 5049 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號