在字串物件中,始終需要記住字串物件的值是無法修改的,所有對字串物件的操作飯後的都是新建立的字串,原字串物件是沒有發生任何變化的
在使用+符合拼接字串時,如果+其中一側不是字串時,則需要通過str函式進行轉移
>>
>
"fsdbo"+12
traceback (most recent call last)
: file ""
, line 1,in
"fsdbo"+12
typeerror: can't convert '
int' object to str implicitly
>>
>
"fsdbo"
+str(12
)'fsdbo12'
在python中,提供了find
和index
兩個方法在特定的字串中查詢其他字串,find
和index
方法不同的是如果原字串中沒有字串時返回的不同,find
方法直接返回-1,index
方法直接valueerror
錯誤
>>
> a =
"abcdefg"
>>
> a.find(
"bc")1
>>
> a.find(
"cb")-
1>>
> a.index(
"bc")1
>>
> a.index(
"cb"
)traceback (most recent call last)
: file ""
, line 1,in
a.index(
"cb"
)valueerror: substring not found
>>
>
關於字串切片可以把字串看作列表,然後對列表切片,可以參考我這篇部落格
字串的分割就是將字串按照特定格式進去切分,然後返回列表,原字串不發生改變,split預設以空字元作為分隔符,若原字串沒有分隔符,則直接將元字元作為列表的元素直接返回
>>
> a =
"ab ac ad af ae"
>>
> a.split()[
'ab'
,'ac'
,'ad'
,'af'
,'ae'
]>>
> a.split(
"a")[''
,'b '
,'c '
,'d '
,'f '
,'e'
]>>
> a.split(
"df")[
'ab ac ad af ae'
]>>
>
join方法則是和split方法執行相反的操作,join方法是將迭代物件通過特定的連線符進行拼接
>>
> a =
"ab ac ad af ae"
>>
> b = a.split(
)>>
>
print
(b)[
'ab'
,'ac'
,'ad'
,'af'
,'ae'
]>>
>
"+".join(b)
'ab+ac+ad+af+ae'
>>
>
1、in 和not in
判斷字串是否存在特定的字串
2、startswith和endswith
判斷字串是否以特定字串開頭或結尾
1、刪除空白字串
strip方法返回刪除字串的左右空白的新的字串物件,lstrip、rstrip分別是返回刪除坐空白和右空白字串的新物件
2、替換
replace是用新的子串替換舊的子串,並返回替換後的新的字串物件,如果字串中含有多個舊的子串,都會被替換掉
>>
> a =
"ab ac ad af ae ac"
>>
> a.replace(
"ac"
,"++"
)'ab ++ ad af ae ++'
>>
>
capitalize將每句話的首字元大寫
lower是將字串中大寫的字元轉為小寫的字元
upper將字串中小寫的字元轉為大寫的字元
title將每個詞首字元大寫
swapcase是將字串中的大小寫互換
>>
> a =
"ab ac ad af ae"
>>
> a.capitalize(
)'ab ac ad af ae'
>>
> a.title(
)'ab ac ad af ae'
>>
> b = a.upper(
)>>
>
print
(b)ab ac ad af ae
>>
> a.lower(
)'ab ac ad af ae'
>>
> a.swapcase(
)'ab ac ad af ae'
len函式返回字串的長度
count方法是計算字串中含有特定子串的個數
>>
> a =
"ab ac ad af ae ac"
>>
>
len(a)
17>>
> a.count(
"ac"
)2
對於符合識別符號規則(只包含字母、下劃線_、數字)的字串物件會啟動字串駐留記憶體機制,相同的字串物件在記憶體中之儲存乙份,對於不符合要求的字串則不會啟動記憶體駐留機制,
>>
> a =
"sfdo_21"
>>
> b =
"sfdo_21"
>>
> a is b
true
>>
> c =
"sdf!"
>>
> d =
"sdf!"
>>
> c is d
false
>>
>
id(a)
71457848
>>
>
id(b)
71457848
>>
>
id(c)
71458016
>>
>
id(d)
71398040
>>
>
上面**中,由於a和b的字串符合識別符號規則,所以就能夠啟動記憶體駐留機制,c和d的字串不符合識別符號規則,則不啟動記憶體駐留機制 Python學習之字串
字串或串 string 是由數字 字母 下劃線組成的一串字元。一般記為 s a1a2 an n 0 它是程式語言中表示文字的資料型別。python的字串列表有2種取值順序 如果你的實要取得一段子串的話,可以用到變數 頭下標 尾下標 就可以擷取相應的字串,其中下標是從0開始算起,可以是正數或負數,下標...
python學習之字串
1 賦值 msg studying python now msg1 xu te t為4個空格 msg3 aaa qq.com msg4 d1 2 字串常用方法 print msg.capitalize 首字母大寫 print msg.center 40,按40個字元寬度居中顯示字串,前後用 填充 p...
PYTHON 學習之字串變數
利用百分號格式化 name zhangsan age 25 price 4500.225 print my name is s name print i am d age years old print my price is f price 保留指定位數小數 四捨五入 print my price...