python字串是一種元素為字元的序列類型。因為序列類型是元素被順序放置的一種資料結構,因此可以透過索引來取得某一個字符,或指定索引範圍來取得一組字符。
>>> ch='abcde' >>> print("ch[0]=",ch[0],"ch[-1]=",ch[-1]) ch[0]= a ch[-1]= e
index是整數,不能越界,從0到lne(str)-1,否則出現錯誤。
>>> len(ch) 5 >>> ch[5] Traceback (most recent call last): File "<pyshell#4>", line 1, in <module> ch[5] IndexError: string index out of range
逆序列印字串
def resstr(ch): mid=len(ch) for c in range(mid): print(ch[mid-1-c],end='') >>> resstr('abcde') edcba
sb的準備,逆序字串了,string是不能修改的。報錯提示:'str' object does not support item assignment
字串的分片,就是從給定的字串分離出部分字串,可以採用以下形式索引i,j,k
i是起始位置,j是索引結束位置,但不包含j位置上的字串,索引編號每次增加的步長為k
>>> s="hello world" >>> print(s[0:len(s):2]) hlowrd >>> print(s[1:len(s):3],end='---') eood---
索引index,是從0到len(str) -1,也可以使用負索引,範圍是-n到-1.負索引的起始位置是字串的結束。
st='asdfg' print(st[-1:0:-1]) gfds
字串分片的索引,索引的起始位置i,索引結束位置j,和步長k都可以省略,省略i時,從0或-1開始,省略j時到最後一個字串結束,省略k時候步長為1。
st='asdfghjk' print(st[:0:-1]) print(st[2::2]) print(st[0:5:]) kjhgfds dgj asdfg
字串相關的操作,可以進行連接操作,邏輯操作,還有字串處理函數。
st1='abc' st2="def" print("{0}+{1}={2}".format(st1,st2,st1+st2)) print("{0:s}*5={1}".format(st1,st1*5)) abc+def=abcdef abc*5=abcabcabcabcabc
字串的方法
字串是不可變的,任何字串改變字串後,都會傳回一個新的字串,python字串string可以看成一個類別。
st1='abcDEF' print("{0:s}.upper()={1:s}".format(st1,st1.upper())) print("{0:s}.lower()={1:s}".format(st1,st1.lower())) print("{0:s}.swapcase()={1:s}".format(st1,st1.swapcase())) abcDEF.upper()=ABCDEF abcDEF.lower()=abcdef abcDEF.swapcase()=ABCdef st1='abcDEFasde' print("a count={0}".format(st1.count('a'))) print("{0} start with {1} is {2} ".format(st1,'abc',st1.startswith('abc'))) print("{0} end with {1} is {2} ".format(st1,'de',st1.startswith('de'))) a count=2 abcDEFasde start with abc is True abcDEFasde end with de is False st1=' abcDEFasde' print("{0} replace 123 :{1}".format(st1,st1.replace('abc','123'))) print( "{0} remove {1} left char---{2}".format(st1,' ',st1.strip())) abcDEFasde replace 123 : 123DEFasde abcDEFasde remove left char---abcDEFasde
字串的方法太多,不在說了,沒意思。
byte物件
在Python中,byte和字串不同,由一系列無法改變的unicode字元組成的序列叫做字串。由一連串不可改變編碼介於0--255之間的字串所組成的序列稱為byte物件。
by=b'abc &' print(type(by)) print("length=",len(by)) <class 'bytes'> length= 5
在字串前面加上'b'可以定義byte對象,每一個字串可以是ascii字元等,可以使用len()函數計算byte對象的長度。
ch=input('输入几个数字逗号隔开:') d=ch.split(',') print(d) sum=0 for num in d: sum+=float(num) print("ths sum=",sum) 输入几个数字逗号隔开:2.2,3.3,5.5,6.8 ['2.2', '3.3', '5.5', '6.8'] ths sum= 17.8
相關推薦:
#以上是淺談python字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!