其他部分鏈接
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
每次對字符串做出修改時,實際上都是在一個新的內存地址裏生成了一個新的字符串,現在的這個字符串已經不是原本的字符串了。也就是說它是不可修改的。