2012-03-21 82 views
0

我有一個字符串Python的字符串和轉義序列

「‘不,謝謝您,媽媽,’我說,‘我不知道這需要多久。’」

我它分配給一個變量foobar的

>>> foobar = """'"No, thanks, Mom," I said, "I don't know how long it will take."'""" 

但是當我打印,我得到

>>> foobar 
'\'"No, thanks, Mom," I said, "I don\'t know how long it will take."\'' 
>>> 

^h ow能不能打印出與我分配的字符串相同的值?

+0

當你打印foobar時你會得到什麼 – tMC 2012-03-21 18:37:22

回答

2

要打印一個字符串,使用... print

>>> foobar = """'"No, thanks, Mom," I said, "I don't know how long it will take."'""" 
>>> print(foobar) 
'"No, thanks, Mom," I said, "I don't know how long it will take."' 

如果你只是輸入foobar,Python的打印Foobar的representation。該表示被設計爲有效的Python代碼和/或用於調試,並不意味着輸出給用戶。

1
>>> print foobar 

foobar,其本身呼籲字符串,將打印轉義字符串reprprint foobar改爲在字符串上調用str

+0

這個(不必要的)只適用於Python 2.x.我完全沒有理由爲什麼應該在3.x的尖端和更容易掌握的打印*函數*方面教授print *聲明*。 – phihag 2012-03-21 18:42:45

+0

@phihag:哎呀,對不起,夥計。我一直在寫Python的時間太長,以至於我認爲print-as-a-statement是第二性質的;我甚至不考慮它。 – mipadi 2012-03-21 18:58:42

0

它正在打印相同的值。它僅向您顯示單引號轉義以區別於cmd行使用的單引號以顯示字符串。