>>> print "hello world"
hello world
>>> "hello world"
'hello world'
>>>
有什麼區別?python print「hello world」vs「hello world」
一個完整的noob問題。
蟒蛇Hello World示例大多采用
print "hello world"
我可以帶,其print
,只是使用"Hello world"
給了蟒蛇的介紹?
>>> print "hello world"
hello world
>>> "hello world"
'hello world'
>>>
有什麼區別?python print「hello world」vs「hello world」
一個完整的noob問題。
蟒蛇Hello World示例大多采用
print "hello world"
我可以帶,其print
,只是使用"Hello world"
給了蟒蛇的介紹?
區別在於print
調用str
而REPL(讀取評估打印循環)的默認操作是在對象上調用repr
,除非它是None
。
需要注意的是,如果你沒有在交互式解釋工作(你是不是在REPL),那麼你就不會看到在版本的任何輸出而不print
。
另請注意,輸出之間存在差異。 repr
在字符串上添加引號。
如果您將空格替換爲換行符,您會發現它們在REPL中甚至沒有真正的工作。
>>> print "hello\nworld"
hello
world
>>> "hello\nworld"
'hello\nworld'
如果試圖通過本身在程序中使用
"hello\nworld"
,你會得到當然沒有
的輸出只能使用打印功能棄權,如果你在命令否則你必須使用打印功能
如果你知道一點Bash腳本,你會發現echo'$ HOME'會打印$ HO ME字母而不是$ HOME中的實際值,我的意思是/ home/user /。
然而,作爲Python,打印功能將解釋爲雙引號和單引號作爲同樣的事情。我只是使用「」,如果沒有引號或句子不必使用雙引號。雖然,你仍然可以做到這一點與\」
示例 -
print 'hello\nworld' -> hello
world
print "hello\nworld" -> hello
world
和
'hello\nworld' -> hello\nworld
如果有時候,我需要原始輸出,我不會用打印或嘗試其他解決方法。
此外,如果我必須使用打印功能輸出原始字符串,我只是使用這個 -
print repr("hello\n\tworld\\") -> 'hello\n\tworld\\'
雖然這取決於你的狀況。
隨意編輯/建議更好地改善此回覆。我可能在這個答案中犯了很多錯誤和錯誤信息。
這是一個非常好的問題,事實上,我開始學習Python的時候也有同樣的疑問。首先,我們將觀察這兩個不同程序的不同輸出。
程序類型1
>>> print "hello world"
hello world
使用打印功能,因爲我們知道是用來打印出給定字符串或數字數據的程序。
程序類型2
>>> "hello world"
'hello world'
>>> 'hello world'
'hello world'
當打印功能不使用,該字符串被直接告知單/雙引號內給它進行打印,得到的答案也被引號內打印。我們的程序不需要這種類型的輸出,即使可能很容易不使用print命令。
這隻能在Python命令行中使用。如果程序保存在單獨的文件中並且將被完全執行,則不可能。
這是一個出人意料的好問題。根據我的理解,最終的結果在技術上幾乎相同,但通過打印進行處理是可取的,因爲處理器可以直接執行「str」命令,而不必知道它應該如何處理該行。 – AaronB
也許我是唯一一個被這個困擾的人 - 但是你能選擇「你好詞」還是「你好世界」並堅持下去?謝謝。 – Floris