4.4.1 字符串的概念
Python 中有很多數(shù)據(jù)類型,字符串是其中的一種。
字符串英文為string,簡(jiǎn)寫(xiě)為str。
只要是被引號(hào)【單/雙/三引號(hào)】括起來(lái)的內(nèi)容,都稱為字符串。
#引號(hào)內(nèi)為數(shù)字
age=
'25'
#引號(hào)內(nèi)為英文
name_1=
"andy"
#引號(hào)內(nèi)為中文
name_2=
"安迪"
#查看變量
print(age)
print(name_1)
print(name_2)
25andy安迪
1、上述引號(hào)內(nèi)的內(nèi)容都是字符串;
2、不管是單引號(hào)、雙引號(hào)、還是三引號(hào),只要是引號(hào)里的內(nèi)容都是字符串;
3、不管引號(hào)里是中文、英文、還是數(shù)字,只要是引號(hào)里的內(nèi)容都是字符串。
4.4.2 字符串的拼接
直接使用操作符+
就能將兩個(gè)或兩個(gè)以上的字符串進(jìn)行連接。
#給變量name賦值
name=
'我叫安迪'
#給變量age賦值
age=
'今年25歲'
#字符串拼接用+號(hào)
#輸出方法一:用print 函數(shù)輸出
print(name+age)
#輸出方法二:調(diào)用變量輸出
name+age
我叫安迪今年25歲'我叫安迪今年25歲'
#兩個(gè)數(shù)字相加
print(
2
+
3
)
5
上述的代碼中,2和3都是數(shù)字,進(jìn)行的是加法運(yùn)算,所以結(jié)果輸出為5。
#兩個(gè)字符串拼接
print(
'2'
+
'3'
)
23
上述的代碼中,'2'和'3'都有引號(hào),進(jìn)行的是字符串拼接運(yùn)算,所以輸出結(jié)果為'23'
#三個(gè)字符串拼接
print(
'2'
+
'3'
+
'4'
)
234
數(shù)字只能和數(shù)字相加,字符串只能和字符串相加。
當(dāng)多個(gè)字符串通過(guò) +
符號(hào)相加,運(yùn)算的結(jié)果是字符串從左到右進(jìn)行首尾拼接。
數(shù)字和字符串相加,會(huì)報(bào)錯(cuò),這是初學(xué)者很容易出現(xiàn)的錯(cuò)誤,大家寫(xiě)代碼時(shí)要注意。
#錯(cuò)誤代碼
print(
'2'
+
3
)
---------------------------------------------------------------------------TypeError: can only concatenate str (not "int") to str
上述是錯(cuò)誤代碼,錯(cuò)誤提示:can only concatenate str (not "int") to str,意思是只能將字符串(而不是“int”)連接到字符串。(str代表數(shù)據(jù)類型為字符串,int代表數(shù)據(jù)類型為整數(shù))
concatenate[k?n?kat?ne?t]:連接
4.4.3 字符串的復(fù)制
有的時(shí)候我們需要把一個(gè)字符串重復(fù)多遍,可以使用操作符*
對(duì)字符串進(jìn)行重復(fù)。
#給變量賦值
tips=
'Python中,標(biāo)點(diǎn)和符號(hào)必須在英文輸入狀態(tài)下輸入!'
#查看變量,變量重復(fù)3次
tips*
3
'Python中,標(biāo)點(diǎn)和符號(hào)必須在英文輸入狀態(tài)下輸入!Python中,標(biāo)點(diǎn)和符號(hào)必須在英文輸入狀態(tài)下輸入!Python中,標(biāo)點(diǎn)和符號(hào)必須在英文輸入狀態(tài)下輸入!'
字符串*3表示字符串重復(fù)3遍。
4.4.4 獲取字符串的長(zhǎng)度
利用len( ) 函數(shù)可以獲取字符串的長(zhǎng)度。
length [le?θ]:長(zhǎng)度
#給變量賦值
number=
'123456789'
#獲取字符串的長(zhǎng)度
len(number)
9
#給變量賦值
name_2=
'張三'
#獲取字符串的長(zhǎng)度
len(name_2)
2
4.4.5 查找字符串
字符串查找是指查找某一個(gè)字符串是否包含在另一個(gè)字符串中。
方法一:
用in
查找:【True】表示在,【False】表示不在。
用not in
查找:【True】表示不在,【False】表示在。
方法二:
用find
查找,如果存在返回字符的具體位置,不存在則返回-1。
語(yǔ)法是字符串.find(要查找的字符)
'我們'
in
'我們一家人!'
True
'你們'
in
'我們一家人!'
False
'我們'
not
in
'我們一家人!'
False
'你們'
not
in
'我們一家人!'
True
'ABCDEF!'
.find(
'C'
)
2
輸出結(jié)果表示:字符c
在字符串中,位置是字符串的第3個(gè)數(shù)。
結(jié)果為2,那為什么是第3個(gè)數(shù),那就要介紹字符串的一個(gè)知識(shí)點(diǎn):索引。·
Python中的字符串的位置是從0開(kāi)始的編號(hào)的,0位對(duì)應(yīng)的是A,1位對(duì)應(yīng)的是B,2位對(duì)應(yīng)的是C;
返回?cái)?shù)字2表示字母C在字符串中,且位置是第2位。
'像字符串、整數(shù)、浮點(diǎn)數(shù)都是Python的一種數(shù)據(jù)類型!'
.find(
'列表'
)
-1
列表
不在前面的一大串字符串里,所有返回-1。
4.4.6 字符串索引
字符串索引是指通過(guò)字符串中值所處的位置對(duì)值進(jìn)行選取。需要注意的是字符串中的位置是從0開(kāi)始的。語(yǔ)法是:字符串[位置]
str[0]='我' str[-9]='我'
str[1]='正' str[-8]='正'
str[2]='在' str[-7]='在'
str[3]='學(xué)' str[-6]='學(xué)'
str[4]='數(shù)' str[-5]='數(shù)'
str[5]='據(jù)' str[-4]='據(jù)'
str[6]='分' str[-3]='分'
str[7]='析' str[-2]='析'
str[8]='!' str[-1]='!'
#為變量賦值
a=
'我正在學(xué)數(shù)據(jù)分析!'
#取字符串第1位的值
a[
0
]
'我'
#為變量賦值
a=
'我正在學(xué)數(shù)據(jù)分析!'
#取字符串第3位的值
a[
3
]
'學(xué)'
#為變量賦值
a=
'我正在學(xué)數(shù)據(jù)分析!'
#取字符串第2位到第4位的值,不包含第4位;
#1:3前面的1(對(duì)應(yīng)第2位)包含,后面的3(對(duì)應(yīng)第4位)不包含,所以取值為第2位,第3位
a[
1
:
3
]
'正在'
1:3 有冒號(hào)含前不含后:前面的1(對(duì)應(yīng)第2位)包含,后面的3(對(duì)應(yīng)第4位)不包含,所以取值為第2位,第3位。
#為變量賦值
a=
'我正在學(xué)數(shù)據(jù)分析!'
#取字符串第1位到第4位的值,不包含第4位;
#前面包含,后面不包含;
a[
0
:
3
]
'我正在'
#取值中0可以省略
a[:
3
]
'我正在'
#為變量賦值
a=
'我正在學(xué)數(shù)據(jù)分析!'
#取字符串第7位到最后一位的值,最后一位可不寫(xiě)
a[
6
:]
'分析!'
#為變量賦值
a=
'我正在學(xué)數(shù)據(jù)分析!'
#取字符串的最后一位
a[
-1
]
'!'
通過(guò)具體某一個(gè)位置獲取該位置的值的方式稱為普通索引;
把通過(guò)某一位置區(qū)間獲取該位置區(qū)間內(nèi)的值的方式稱為切片索引。
4.4.7 字符串分隔
字符串分隔是先將一個(gè)字符用某個(gè)分隔符號(hào)分開(kāi),然后將分隔后的值以列表的形式返回。列表在后面的章節(jié)講述。
語(yǔ)法是字符串.split(分隔符)
split [spl?t]:分離、分隔。
#將字符串a(chǎn)bc用逗號(hào)分隔
'a,b,c'
.split(
','
)
['a', 'b', 'c']
#將字符串a(chǎn)bc用/分隔
'a/b/c'
.split(
'/'
)
['a', 'b', 'c']
4.4.8 字符串移除
移除字符用到的方法是 strip()函數(shù),該函數(shù)用來(lái)移除字符串首尾的指定字符,默認(rèn)的情況下移除字符串首尾的空格或換行符。語(yǔ)法是字符串.strip(字符串)
strip[str?p]:取走。
#括號(hào)為空時(shí)默認(rèn)移除空格
'a'
.strip()
'a'
#移除字符在開(kāi)頭
'ccddd'
.strip(
'c'
)
'ddd'
#移除字符在結(jié)尾
'dddccc'
.strip(
'c'
)
'ddd'
#移除字符在中間
'dddccceee'
.strip(
'c'
)
'dddccceee'
.strip( ) 只能移除在最前或最后的字符。
總結(jié)
1、概念:引號(hào)里的內(nèi)容稱為字符串,簡(jiǎn)寫(xiě)為str;
2、字符串的拼接用+
:例如:'2'+'3'
輸出23
3、字符串的復(fù)制用*
:例如:'我'*3
輸出我我我
4、字符串的長(zhǎng)度:len( ):例如len('ABCD')
輸出4
5、字符串的查找:'a' in 'abcd'
'a' not in 'abcd'
'abcd'.find(a)
6、字符串索引:字符串[ ]
[0]表示取第1位,[1]表示第2位;
[0:2]表示取第1位、第2位,含前不含后,不取第3位。
[:2]表示取第1位、第2位,0可以省略。
[5:]表示取第6位到最后一位,最后一位可以不寫(xiě)。
[-1]表示取最后一位。
7、字符串分隔:字符串.split(分隔符)
8、字符串移除:字符串.strip(字符)
括號(hào)為空時(shí)默認(rèn)移除空格。
課后練習(xí)1
補(bǔ)全下面的代碼,輸出:安迪在圖書(shū)館學(xué)Python
注意:在
字不在變量里。
#給變量賦值
name=
'安迪'
place=
'圖書(shū)館'
action=
'學(xué)Python'
#輸出:安迪在圖書(shū)館學(xué)Python
課后練習(xí)2
補(bǔ)全下面的代碼,輸出:李四數(shù)學(xué)80分 注意:分
字不在變量里。
#給變量賦值
surname=
'趙錢(qián)孫李'
givename=
'一二三四五'
subject=
'語(yǔ)文數(shù)學(xué)英語(yǔ)'
number=
'0123456789'
#輸出:李四數(shù)學(xué)80分
-
字符串
+關(guān)注
關(guān)注
1文章
577瀏覽量
20485 -
數(shù)據(jù)類型
+關(guān)注
關(guān)注
0文章
236瀏覽量
13608 -
python
+關(guān)注
關(guān)注
56文章
4782瀏覽量
84451
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論