首頁  >  文章  >  後端開發  >  淺談python字串

淺談python字串

零到壹度
零到壹度原創
2018-04-23 11:30:311579瀏覽

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=&#39;&#39;)
>>> resstr(&#39;abcde&#39;)
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=&#39;---&#39;)
eood---

索引index,是從0到len(str) -1,也可以使用負索引,範圍是-n到-1.負索引的起始位置是字串的結束。

st=&#39;asdfg&#39;
print(st[-1:0:-1])
gfds

字串分片的索引,索引的起始位置i,索引結束位置j,和步長k都可以省略,省略i時,從0或-1開始,省略j時到最後一個字串結束,省略k時候步長為1。

st=&#39;asdfghjk&#39;
print(st[:0:-1])
print(st[2::2])
print(st[0:5:])
kjhgfds
dgj
asdfg

字串相關的操作,可以進行連接操作,邏輯操作,還有字串處理函數。

st1=&#39;abc&#39;
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=&#39;abcDEF&#39;
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=&#39;abcDEFasde&#39;
print("a count={0}".format(st1.count(&#39;a&#39;)))
print("{0} start with {1} is {2} ".format(st1,&#39;abc&#39;,st1.startswith(&#39;abc&#39;)))
print("{0} end with {1} is {2} ".format(st1,&#39;de&#39;,st1.startswith(&#39;de&#39;)))
a count=2
abcDEFasde start with abc is True 
abcDEFasde end with de is False 
st1=&#39; abcDEFasde&#39;
print("{0} replace 123 :{1}".format(st1,st1.replace(&#39;abc&#39;,&#39;123&#39;)))
print( "{0} remove {1} left char---{2}".format(st1,&#39; &#39;,st1.strip()))
 abcDEFasde replace 123 : 123DEFasde
 abcDEFasde remove   left char---abcDEFasde

字串的方法太多,不在說了,沒意思。

byte物件
在Python中,byte和字串不同,由一系列無法改變的unicode字元組成的序列叫做字串。由一連串不可改變編碼介於0--255之間的字串所組成的序列稱為byte物件。

by=b&#39;abc &&#39;
print(type(by))
print("length=",len(by))
<class &#39;bytes&#39;>
length= 5

在字串前面加上'b'可以定義byte對象,每一個字串可以是ascii字元等,可以使用len()函數計算byte對象的長度。

ch=input(&#39;输入几个数字逗号隔开:&#39;)
d=ch.split(&#39;,&#39;)
print(d)
sum=0
for num in d:
    sum+=float(num)
print("ths sum=",sum)
输入几个数字逗号隔开:2.2,3.3,5.5,6.8
[&#39;2.2&#39;, &#39;3.3&#39;, &#39;5.5&#39;, &#39;6.8&#39;]
ths sum= 17.8


相關推薦:

#python字串實際應用

Python3字串各種內建函數詳解

#python字串分隔

python的字串和列表

#

以上是淺談python字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn