官术网_书友最值得收藏!

3.3 原始字符串

看起來好像反斜杠是一個好東西,那不妨試試打印C:\now,代碼如下:

     >>> string = 'C:\now'
     >>> string
     'C:\now'
     >>> print(string)
     C:
     ow

打印結果并不是我們預期的,原因是反斜杠(\)和后邊的字符(n)恰好轉義之后構成了換行符(\n)。這時候有朋友可能會說,用反斜杠來轉義反斜杠不就可以啦。嗯,不錯,的確可以用反斜杠對自身進行轉義:

     >>> string = 'C:\\now'
     >>> string
     'C:\\now'
     >>> print(string)
     C:\now

但如果一個字符串中有很多個反斜杠,我們就不樂意了。畢竟,這不僅是一個苦差事,還可能使代碼變得混亂。

不過大家也不用怕,因為在Python里有一個快捷的方法,就是使用原始字符串。原始字符串的使用非常簡單,只需要在字符串前邊加一個英文字母r即可:

     >>> string = r'C:\now'
     >>> string
     'C:\\now'
     >>> print(string)
     C:\now

在使用字符串時需要注意的一點是:無論是否為原始字符串,都不能以反斜杠作為結尾(注:反斜杠放在字符串的末尾表示該字符串還沒有結束,換行繼續的意思,下一節會介紹)。如果堅持這樣做就會報錯:

     >>> string = 'FishC\'
     SyntaxError: EOL while scanning string literal
     >>> string = r'FishC\'
     SyntaxError: EOL while scanning string literal

大家不妨考慮一下:如果非要在字符串的結尾加個反斜杠,有什么辦法可以來靈活實現呢?

主站蜘蛛池模板: 巨鹿县| 涪陵区| 商南县| 渝北区| 大石桥市| 罗平县| 临漳县| 青州市| 正宁县| 勃利县| 南召县| 自贡市| 乌拉特后旗| 炎陵县| 阜新市| 济阳县| 汕尾市| 志丹县| 大同县| 饶河县| 顺义区| 临漳县| 宁陕县| 大渡口区| 吉水县| 津市市| 台南市| 郧西县| 鄂尔多斯市| 青浦区| 新和县| 抚宁县| 深水埗区| 朝阳县| 肇庆市| 尚志市| 洛川县| 青冈县| 瓮安县| 长乐市| 噶尔县|