一、raw字符串與多行字符串
在字很多語言中,如果符串中包含需要轉義的字符,我們會在前面添加轉義符'\',例如:
同時,在python中,''和""均可以表示字符串。但是如果希望在一個字符串中使用,‘’或者“”作爲普通字符,需要進行轉義
如果一個字符串包含很多需要轉義的字符,對每一個字符都進行轉義會很麻煩。爲了避免這種情況,我們可以在字符串前面加個前綴 ‘r’,
表示這個字符串是raw字符串,所有字符串均按照字面意思來使用
例如:
如果我們希望在一個字符串中多行表示同時又不想多次使用\n,這時就可以使用python多行字符串表示:
使用多行時,使用''' ...'''來包裹字符串,同時在需要換行的地方換行
**關於中文:
當我們在使用python處理中文的時候,我們如果使用了中文,經常會遇到亂碼或者異常的情況。我們在python中應該如何正確使用中文呢?直接上結論。
結論:
在.py文件中,需要聲明文件編碼爲 utf-8,同時在字符串添加前綴u 否則無法打印中文
不聲明編碼爲utf-8時,拋出語法錯誤異常:
不添加前綴'u'的時候,中文亂碼:
這裏解釋一下,由於python本身只支持ASCII編碼,而我們需要使用unicode來表示中文,所以需要在字符串前面添加前綴u,聲明後邊的字符串應該當做unicode來對待。
添加文件的編碼是告訴python解釋器,使用UTF-8的格式來讀取源代碼。因爲ASCII來讀取源代碼,無法讀取中文。
P.S.以上結論僅針對python2.7,python3可能已經不需要使用u前綴
二、字符串切片:
首先,在python中,字符串也是可以直接使用索引來訪問的:
那麼當我們想要截取字符串中的一部分的時候,就需要使用到切片。
切片語法:str[開始索引:結束索引:步長]
意思爲從開始索引開始,到結束索引爲止(不包括),每步長n個字符取一個(默認爲1,1表示每個字符都取,2表示隔一個取一個)
步長爲負數即爲從後往前取,即s[::-1]表示字符串的反轉
例子:
三、格式化輸出:
python格式化輸出和c語言的類似,就是使用%s,%d,%f等代替具體數據類型,將值插入到字符串中
例如:
Python2.6 開始,新增了一種格式化字符串的函數 str.format(),它增強了字符串格式化的功能