Python學習入門到精通:字符串的概念

  • 2020 年 2 月 13 日
  • 筆記

1. 字符串的創建

字符串是python當中最常用的數據類型,我們用它來處理文字內容,下面的代碼演示了3中創建字符串的方法

str_1 = 'python'  str_2 = "python"  str_3 = """python"""    print(str_1, type(str_1))  print(str_2, type(str_2))  print(str_3, type(str_3))  

在pycharm新建一個腳本,本教程如果要求在交互式解釋器里寫代碼,那麼默認就是在pycharm里編寫代碼。

上面的代碼里,我分別用單引號,雙引號,3對雙引號創建一個字符串,使用print函數輸出這3個變量的內容以及他們的類型,實際輸出結果為

python <class 'str'>  python <class 'str'>  python <class 'str'>  

這3種創建字符串的方法,常用的是前兩種,在使用print函數時,多個數據可以用逗號分隔。

多個字符串可以使用 + 連接在一起,生成新的字符串,在交互式解釋器中跟隨我操作

>>> a = 'I'  >>> b = 'like'  >>> c = 'python'  >>> d = a + ' ' + b + ' ' + c  >>> d  'I like python'  >>> len(d)  13  

我定義了三個變量,其類型都是字符串,最後使用 + 將他們連接在一起,在連接時,為了不讓單詞緊挨着,我在中間加入了' ',也是一個字符串,裏面的內容是空格。

使用內置函數len(),可以獲取字符串的長度,你又學會了一個新的內置函數。

2. 索引的概念

這是你在學習編程語言時接觸到第一個十分重要的專業概念,後面學習列表時,你還會用到它,不理解索引,就沒辦法學習切片。

python中,字符串是字符的有序集合。這裡,你主要關注有序二字。

'python'  '443'  '*&^%$'  

第一個字符串里有5個字母,第二個字符串里有3個數字,第三個字符串里有5個字符,在編程語言里,這些都統稱為字符,所以,字符串是字符的集合。

那麼有序是怎麼體現的呢?有序意味着,每一個字符都有自己的位置,專業術語叫索引,比如字符串'python', 我現在問你,這個字符串的第3個字符是什麼,你會回答說是字符t,從左向右數,的確是t, 這個就是索引。

但與所熟悉的計數方式不同,編程語言里,索引都是從0開始的,因此,t在字符串python中的索引是2

不僅如此,python還支持反向索引,t的反向索引是-4。

你可以通過索引來訪問字符串里的某個字符,在編輯器里跟隨我操作

>>> a = 'python'  >>> a[0]  'p'  >>> a[-2]  'o'  >>> a[1:3]  'yt'  >>> a[10]  Traceback (most recent call last):    File "<stdin>", line 1, in <module>  IndexError: string index out of range  

根據索引訪問字符串里的某個字符時,需要使用一對中括號[],在其中填寫索引,如果索引超出了範圍,就會引發IndexError,這是初學者非常容易犯的錯誤。

a[1:3],表示範圍索引1到索引3這個範圍內的字符,得到的結果是'yt', 這就是切片操作,關於切片操作會有專門的文章講解。

3. 字符串的運算

對於字符串,有以下運算

字符串連接操作,在介紹字符串概念時已經有過講解,下面在交互式解釋器里跟隨我操作,學習這些操作符

>>> a = 'py'  >>> b = 'python'  >>> a + b  'pypython'  >>> a*3  'pypypy'  >>> b[3]  'h'  >>> b[0:2]  'py'  >>> a in b  True  >>> b not in b  False  

關於 % ,格式化字符串,會有專門的文章進行講解。