Python數據類型——字符串詳解(1)

上一篇文章:Python數據類型——邏輯值詳解

【用Python畫的小豬佩奇】

 用Python的turtle庫畫的小豬佩奇,源碼地址:python turtle 海龜繪圖,繪製小豬佩奇

 寫在前面:大家好!我是ACfun,我的暱稱來自兩個單詞Acceptedfun。由於最近在學習python,學了一遍感覺不是特別條理,所以我想整理一個有關python基礎的系列的文章。希望自己通過這次的整理可以對python有一個較爲清晰的理解和認識。如果有不足或者的錯誤的地方歡迎在評論區或者私信我指正,感謝大家的不吝賜教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感謝大家的支持。
用知識改變命運,用知識成就未來。加油 (ง •̀o•́)ง (ง •̀o•́)ง

本篇簡介

 在上一篇博客:Python數據類型——邏輯值詳解 中我們一塊學習了Python數值類型的邏輯值部分。從這一篇開始我們將開始學習一種新的Python數據類型,它們的成員是有序排列的,並且可以通過下標偏移量訪問到它的一個或者幾個成員,這類 Python 類型統稱爲序列。包括下面這些:字符串,列表,和元組類型。這一篇我們主要來學習一下其中的字符串

字符串簡介

字符串就是把一個個文字字符“串起來”的數據,這裏的文字字符包含有:拉丁字母、數字、標點符號、特殊符號以及各種語言文字字符。字符串類型是 Python 裏面最常見的類型。我們可以簡單地通過在引號間包含字符的方式創建它。Python 裏面單引號和雙引號的作用是相同的。

字符串的創建和賦值

字符串創建和賦值的方式

在Python中使用單引號或者雙引號都可以表示一個字符串,但是單引號或者雙引號必須成對。比如我們創建一個Hello World的字符串。

>>> string = 'Hello World!'
>>> string
'Hello World!'
>>> string = "Hello World!"
>>> string
'Hello World!'

 這裏我們先用一對單引號創建了一個字符串Hello World,並將其賦值給string變量。然後我們又用一對雙引號創建了一個字符串,然後再將其賦值給string變量。說明在Python中單引號和雙引號的作用是相同的。
 但是如果我們這個字符串有很多行怎麼辦?Python還提供了一種表示多行字符串的方式,就是用一對三個連續的單引號或者三個連續的雙引號表示多行字符串

>>> String = '''
        南鄉子
  和楊元素,時移守密州
              ——蘇軾
      東武望餘杭,
    雲海天涯兩渺茫。
    何日功成名遂了,
        還鄉,
    醉笑陪公三萬場。

      不用訴離殤,
    痛飲從來別有腸。
    今夜送歸鐙火冷,
        河塘,
    墮淚羊公卻姓楊。
'''
>>> print(String)

        南鄉子
  和楊元素,時移守密州
              ——蘇軾
      東武望餘杭,
    雲海天涯兩渺茫。
    何日功成名遂了,
        還鄉,
    醉笑陪公三萬場。

      不用訴離殤,
    痛飲從來別有腸。
    今夜送歸鐙火冷,
        河塘,
    墮淚羊公卻姓楊。

 如果我們使用一對三個連續的單引號或者三個連續的雙引號表示多行字符,當我們按下回車時就相當於在字符串中嵌入了一個換行(’\n’)的符號。所以當我們使用print()函數打印出我們剛纔寫的蘇軾的詩時它會自動換行打印輸出

在字符串中使用單雙引號

 有時候我們創建的字符串需要使用的單引號或者雙引號,即我們的字符串本身就含有單引號或者雙引號,那麼這個時候改怎麼辦呢?
 其實很簡單,那就是當我們需要在字符串中使用單引號的時候,我們就用雙引號創建字符串。如果字符串中含有雙引號,我們就用單引號創建字符串;或者是使用轉義字符"\"表示,如果我們在特殊字符的前面加一個轉義字符,那麼這個符號將代表他本來的意思,就不會在發揮它的特殊作用。比如:

>>> # 不使用轉義字符
>>> speak1 = 'I told to Bob,"Python is my favorite language"'
>>> print(speak1)
I told to Bob,"Python is my favorite language"
>>> speak2 = "She is my mother's friend"
>>> print(speak2)
She is my mother's friend
>>> speak3 = "The language 'python' is named after Monty Python,not the snake."
>>> print(speak3)
The language 'python' is named after Monty Python,not the snake.
>>> # 使用轉義字符 "\"
>>> tell = "I told to Bob,\"Python is my favorite language\""
>>> print(tell)
I told to Bob,"Python is my favorite language"
>>> tell2 = 'She is my mother\'s friend'
>>> print(tell2)
She is my mother's friend

特殊字符用轉義字符""表示

 我們可以在Python使用轉義字符來表示一些特殊的字符,比如上面提到的作爲字符串分割的單雙引號,如果我們不想讓單雙引號作爲字符串的分割符號,我們就想讓他們表示單雙引號,那麼這個時候就需要在前面加上一個轉義字符來將其當做自己的本身。Python中還有很多轉義字符:
Python中的轉義字符
 上圖就是Python中常見的轉移字符,那麼如果我們就像打印出\n而不讓它作爲換行使用怎麼辦呢?這裏有兩種方法:

  • 在特殊字符前面再加一個轉義字符“\n”
  • 整個字符串前面加一個字母 r或者R (代表raw) 表示特殊字符不做處理
>>> print("\n")


>>> print("\\n")
\n
>>> print(r"\n")
\n
>>> print(R"\n")
\n

 經過上面的例子,我們可以知道如果我們直接輸出"\n",那麼這個"\n"會被當做換行符來使用。當我們想輸出\n的時候我們只需要在前面再加一個轉義字符 "\" 或者是 r 或者 R 即可。


訪問字符串中的值

字符的編號

 上面我們提到字符串成員是有序排列的,並且可以通過下標偏移量訪問到它的一個或者幾個成員。在Python序列類型中有兩種排序方法:

  • 正序遍歷:從第一個字符的編號爲0,第二個編號爲1……然後依次向後增加。
  • 逆序遍歷:倒數第一個字符的編號爲 -1 ,倒數第二個爲 -2 ……依次向前減少。

訪問字符串中的字符

 我們可以使用這種整數編號從字符串中抽取任何一個字符。

>>> string = 'python'
>>> string[3]
'h'
>>> string[-1]
'n'

訪問字符串中的子串

 我們可以使用序列操作符切片([]和[:]來訪問字符串中的字串,關於切片,在以後的博客中也會詳細的整理說明。比如:

>>> s = 'Hello Python'
>>> s[6:]
'Python'
>>> s[::2]
'HloPto'

參考資料:

  • 中國大學生慕課——Python語言基礎與應用
  • 《Python核心編程第二版》

未完待續,持續更新中……
無敵快樂

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