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