日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python中的反斜杠問題深入講解

系統(tǒng) 1935 0

前言

python本身使用 \ 來轉(zhuǎn)義一些特殊字符,比如在字符串中加入引號(hào)的時(shí)候

            
s = 'i\'m superman'
print(s) # i'm superman
          

為了防止和字符串本身的引號(hào)沖突,使用 \ 來轉(zhuǎn)義,一般情況下這個(gè)也不會(huì)引起什么問題,但是當(dāng)你要使用 \ 來轉(zhuǎn)義 \ 的時(shí)候,就比較混亂了,比如我們想要輸出一個(gè) \ ,得寫兩個(gè) \ ,否則會(huì)報(bào)語(yǔ)法錯(cuò)誤,因?yàn)?\ 把后面的引號(hào)給轉(zhuǎn)義了,必須使用 \

            
# 錯(cuò)誤寫法
# print '\'

# 正確寫法
print('\\')  # \

# 原生字符串
print(r'\\') # \\
          

將 \ 轉(zhuǎn)義一下使其不具備轉(zhuǎn)義功能,才可以正確輸出,當(dāng)使用原生字符串的時(shí)候,輸出顯示了兩個(gè) \ ,看起來好像是寫幾個(gè)輸出幾個(gè)的樣子,如果這樣想的話,你可以試一下,看能不能輸出奇數(shù)個(gè) \。

補(bǔ)充――――――――――――――――――

python的原生字符串不能以反斜杠結(jié)尾的問題

Python的原生字符串(raw string)是個(gè)很有用的東西,可以少寫很多反斜線(轉(zhuǎn)義符號(hào))。

不過它有個(gè)著名的bug,就是不能以反斜線結(jié)尾,這讓人很無(wú)語(yǔ)。今天突然發(fā)現(xiàn)General Python FAQ里有進(jìn)行說明,并給出了解決辦法。

首先要澄清的是不是不能以反斜線結(jié)尾,而是不能以奇數(shù)個(gè)反斜線結(jié)尾。

其次,這個(gè)bug的原因是一些處理器(例如主要的正則表達(dá)式引擎)希望進(jìn)行它們自己的反斜線轉(zhuǎn)義處理,而這些處理器不允許字符串以未匹配的反斜線結(jié)尾。

最后,解決辦法就是把反斜線放在另一個(gè)字符串里,Python會(huì)自動(dòng)進(jìn)行合并:

            
dir = r"\this\is\my\dos\dir" "\\"
          

補(bǔ)充結(jié)束――――――――――――――――――

雖然原生字符串不是很完美,但是它已經(jīng)可以幫我們解決很大一部分的問題了。比如當(dāng)你想匹配"\"的時(shí)候,原生字符串可以讓你至少少寫一半的\,即節(jié)省代碼量,又增加了可讀性。

            
import re
_string = '\\\\'
print(_string) # \\

# 字符串
for i in re.findall('\\\\', _string):
  print(i)  
  # \
  # \

# 原生字符串
for i in re.findall(r'\\', _string):
  print(i)  
  # \
  # \
          

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 大港区| 赤城县| 岑巩县| 育儿| 台中市| 海伦市| 杂多县| 屏南县| 惠安县| 阳谷县| 嘉荫县| 嘉兴市| 宝坻区| 宣恩县| 天津市| 剑阁县| 池州市| 金塔县| 七台河市| 白朗县| 江都市| 阜城县| 兴国县| 灵武市| 锡林郭勒盟| 安多县| 犍为县| 壤塘县| 罗甸县| 全椒县| 随州市| 唐山市| 桂东县| 江永县| 沙田区| 秦皇岛市| 宜宾市| 苏尼特左旗| 苗栗市| 枣阳市| 沙坪坝区|