python最基礎知識
不是說r'...'表示法不能表示多行字符串,也不能表示包含'和?"的字符串,那為什么下面語句可以實現
print r'''"To be, or not to be": that is the question.
?Whether it's nobler in the mind to suffer.'''
?
其中不是有“與it's中的'
不是說r'...'表示法不能表示多行字符串,也不能表示包含'和?"的字符串,那為什么下面語句可以實現
print r'''"To be, or not to be": that is the question.
?Whether it's nobler in the mind to suffer.'''
?
其中不是有“與it's中的'
2016-10-16
舉報
2016-10-16
是的。r''是不能表現多行字符的。按我的理解,r的意思都是''中的字符為一般字符,不存在轉義的情況,也就無法用\n來換行以表示多行字符,而帶有'或”存在,會與開頭的‘產生歧義。如print 'i'm good,thank you.',按照我們的思維,應該打印出i'm good ,thank you.但電腦不會這樣打印,開頭的‘和i'm中的’還有結尾的那個',到底那兩個構成r'',哪兩個''中的內容為要打印的語句。類似的,字符中"的其中一個'也會與開頭的'形成歧義。
至于說為什么r''' '''為什么可以帶it's,因為it's中只有一個',無法與開頭的'''形成''' '''結構而導致歧義,所以就可以實現嘍。"也是一樣,湊不出三個'。
我剛上完課不到10分鐘,知識不全,也很啰嗦。碼字不容易,有什么不對的地方請見諒!
2016-10-16
r'...' 和 r'''...'''中的字符不能轉義,里面的 ' 只是個字符