python字符串概述(表現形式/索引/不可變性)

其他部分鏈接

python字符串常見操作:補充鏈接

python字符串格式化:補充鏈接

python字符串常用方法:補充鏈接

正文:

python2中,字符串在內存中是str類型。展現形式是unicode編碼。unicode字符串需要加上u標記。

字符串表示方法分爲單引號、雙引號、三引號。一般三引號的字符串,沒有引用的話就會作爲註釋。常見的就是雙引號和單引號,這兩種的使用效果是相同的。

需要注意的是,如果字符串中有其他字符串,就需要使用不同的引號,例如最外層是雙引號,那麼內部字符串需要使用單引號,例如一個拼接html代碼: "<div style='height:10px'></div>>"。如果內部還有一層字符串,就用跟它外層不同的引號,然後用轉義字符轉義。形如 " 。

字符串索引編號:在python中,可以把字符串理解爲一個不可變的數組,利用索引讀取它的值(不能利用索引修改它的值)。而且可以雙向索引。索引編號正向從0開始,反向從-1開始。例如:

 str1 = "asdfg"
 print str1[0]      # a 正向從0開始索引
 print str1[-5]     # a 反向從-1開始,第一位就是-5
 print str1[-1]     # g 反向索引
 print str1[4]      # g 正向索引

字符串不可變:上邊說到可以把字符串看成一個不可變的數組,爲什麼是不可變呢?顧名思義,就是說字符串本身是不可以改變的,換句話說,我們所見到的改變,實際上都是幹掉了舊字符串,生成了一個新的字符串。貼一段代碼就可以理解了:

 str1 = "asdfg"
 print id(str1)     # 打印str1的內存地址
 str1 += "w"        # 在str1後邊拼接上一個字符w
 print id(str1)     # 再次打印內存地址
 str1 = "asdf"      # 看似去掉一個w字符。實際上是一個新字符串
 print id(str1)     # 打印內存地址
 ​
 ###下方是輸出,自己測試地址會有區別,但是三個結果一定是不同的
 # 44690720
 # 44690784
 # 44690752

每次對字符串做出修改時,實際上都是在一個新的內存地址裏生成了一個新的字符串,現在的這個字符串已經不是原本的字符串了。也就是說它是不可修改的。

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