[Python 實戰] - No.5 字符串、切片與格式化輸出

一、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(),它增強了字符串格式化的功能


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章