在python中,對於字符串string的操作,我們有必要了解一下,這樣在我們的以后的開發中會給我們帶來很多方便
下面是我學習的筆記:
1 #python-string 2 #python中的字符串用單引號''和雙引號""標示 3 strA = 'this is a string' 4 strB = "this is a message!" 5 6 #打印兩個字符串 7 print("打印兩個字符串") 8 print('strA = ' + strA) 9 print('strB = ' + strB) 10 11 print("#############################") 12 13 strC = 'I don\'t know anything' 14 strD = '\'Yes\',I know.' 15 16 print("字符串中的轉移字符") 17 print('strA = ' + strC) 18 print('strB = ' + strD) 19 20 print("#############################") 21 22 strE = '這是我的blog,歡迎大家來\n我的博客園溜達' 23 24 print("字符串中的換行") 25 print('strA = ' + strE) 26 27 print("#############################") 28 29 strF = 'this is ''message' 30 strG = 'Hongten' 31 strH = strG * 3 32 33 print('字符串可以用\'+\'號連接(或者說粘合),也可以用\'*\'號循環') 34 print('strF原有形式為:\'this is \'\'message\'') 35 print('粘合后的strF:' + strF) 36 print('strG原值為:\'Hongten\',strH = strG * 3,此時strH為:' + strH) 37 38 print("#############################") 39 strI = 'hongtenzone@foxmail.com' 40 41 print('字符串可以使用下標(索引)查詢') 42 print('源字符串strI = \'hongtenzone@foxmail.com\'') 43 print('字符串strI的長度,len(strI) = ') 44 print(len(strI)) 45 print('strI[0] = ' + strI[0]) 46 print('strI[10] = ' + strI[10]) 47 print('strI[-1] = strI[len(strI) - 1]') 48 print('strI[-1] = ' + strI[-1]) 49 print('strI[len(strI) - 1] = ' + strI[len(strI) - 1]) 50 51 print("#############################") 52 53 print('Python 字符串不能改寫。按字符串索引賦值會產生錯誤:') 54 print('strI[0] = \'x\',這樣就會產生錯誤啦') 55 56 print("#############################") 57 58 print('過大的索引代替為字符串大小,下界比上界大的返回空字符串') 59 print('strI[0:100] = ' + strI[0:100]) 60 61 print("#############################") 62 63 print('索引可以是負數,計數從右邊開始') 64 print('strI[-2] = ' + strI[-2]) 65 print('strI[-23:] = ' + strI[-23:]) 66 67 print("#############################") 68 69 print('不過-0 還是0,所以它不是從右邊計數的!') 70 print('strI[0] = ' + strI[0]) 71 print('strI[-0] = ' + strI[-0])
運行效果:
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>> ================================ RESTART ================================ >>> 打印兩個字符串 strA = this is a string strB = this is a message! ############################# 字符串中的轉移字符 strA = I don't know anything strB = 'Yes',I know. ############################# 字符串中的換行 strA = 這是我的blog,歡迎大家來 我的博客園溜達 ############################# 字符串可以用'+'號連接(或者說粘合),也可以用'*'號循環 strF原有形式為:'this is ''message' 粘合后的strF:this is message strG原值為:'Hongten',strH = strG * 3,此時strH為:HongtenHongtenHongten ############################# 字符串可以使用下標(索引)查詢 源字符串strI = 'hongtenzone@foxmail.com' 字符串strI的長度,len(strI) = 23 strI[0] = h strI[10] = e strI[-1] = strI[len(strI) - 1] strI[-1] = m strI[len(strI) - 1] = m ############################# Python 字符串不能改寫。按字符串索引賦值會產生錯誤: strI[0] = 'x',這樣就會產生錯誤啦 ############################# 過大的索引代替為字符串大小,下界比上界大的返回空字符串 strI[0:100] = hongtenzone@foxmail.com ############################# 索引可以是負數,計數從右邊開始 strI[-2] = o strI[-23:] = hongtenzone@foxmail.com ############################# 不過-0 還是0,所以它不是從右邊計數的! strI[0] = h strI[-0] = h >>>
1 print('理解切片的最好方式是把索引視為兩個字符之間的點,第一個字符的左邊是0,字符串中第n個字符的右邊是索引n') 2 print(' +---+---+---+---+---+ ') 3 print(' | H | e | l | p | A |') 4 print(' +---+---+---+---+---+ ') 5 print(' 0 1 2 3 4 5 ') 6 print('-5 -4 -3 -2 -1 -0') 7 print('第一行是字符串中給定的0到5各個索引的位置,第二行是對應的負索引。從i 到j 的切片由這兩個標志之間的字符組成') 8 print('對於非負索引,切片長度就是兩索引的差。例如,word[1:3] 的長度是2')
運行效果:
理解切片的最好方式是把索引視為兩個字符之間的點,第一個字符的左邊是0,字符串中第n個字符的右邊是索引n +---+---+---+---+---+ | H | e | l | p | A | +---+---+---+---+---+ 0 1 2 3 4 5 -5 -4 -3 -2 -1 -0 第一行是字符串中給定的0到5各個索引的位置,第二行是對應的負索引。從i 到j 的切片由這兩個標志之間的字符組成 對於非負索引,切片長度就是兩索引的差。例如,word[1:3] 的長度是2