# 零基礎學python-7.3 字符串的一般使用
1.基本操作
1)使用+連接
~~~
>>>?"abc"+"efg"??
'abcefg'??
>>>?a="abc"??
>>>?b="efg"??
>>>?c=a+b??
>>>?c??
'abcefg'??
>>>???
~~~
2)使用*重復
~~~
>>>?"abc"*3??
'abcabcabc'??
>>>?"abc\n"*3??
'abc\nabc\nabc\n'??
>>>?print("abc\n"*3)??
abc??
abc??
abc??
??
>>>???
~~~
3)字符串不能使用+連接數字
~~~
>>>?"abc"+9??
Traceback?(most?recent?call?last):??
??File?"",?line?1,?in???
????"abc"+9??
TypeError:?Can't?convert?'int'?object?to?str?implicitly??
~~~
4)使用for來迭代
~~~
>>>?a="abcdefg"??
>>>?for?x?in?a:print(x)??
??
a??
b??
c??
d??
e??
f??
g??
~~~
5)使用in來找字符,后面我們還會說到str.find()方法,跟in非常相似
~~~
>>>?a="abcdefg"??
>>>?"h"?in?a??
False??
>>>?"abc"?in?a??
True??
>>>???
~~~
2.索引與分片
1)索引
字符串可以通過索引來查找想要的字符,而且索引分成正負,通過不同的查詢方向來查找
~~~
>>>?a="abcdefg"??
>>>?a[0],a[1],a[5]??
('a',?'b',?'f')??
>>>?a[-2],a[-1],a[-5]??
('f',?'g',?'c')??
>>>???
~~~
2)分片,說白了就是提取字符串的某些部分,而且當索引使用負數則返回空
~~~
>>>?a="abcdefg"??
>>>?a[1:]??
'bcdefg'??
>>>?a[1:3]??
'bc'??
>>>?a[-1:3]??
''??
>>>???
~~~
我使用一張圖來說明一下這個分片是怎么分的,以a[1:3]為例子

從圖上面我們比較清楚情況,對于1,他是把指針放到a的后面,從b開始數,a不算,然后后面的3,他是把指針放到d的前面,不算d
所以返回的只有bc
還有需要特殊說明一些例子:
a[1:]從第二個字符開始到結束
a[:3]從第一個字符開始到第二個字符,也就是第三個字符前
a[:]復制所有字符
其實還有第三個參數,步進,說白了,就是跳著選,就是要看跳幾個而已
~~~
>>>?a="abcdefghijklmn"??
>>>?a[2:8:2]??
'ceg'??
>>>?a[::3]??
'adgjm'??
>>>???
~~~
a[2:8:2]代表從第三個字符開始抽取,到第八個之前也就是第七個,然后每隔2個挑一個出來
a[::3]代表從所有字符中每隔3個挑一個出來
如果步進是復數,則反著挑
3.字符串轉換str()與repr()
~~~
>>>?str(42)??
'42'??
>>>?repr(43)??
'43'??
~~~
區別,在使用print的時候,repr多了一對單引號
~~~
>>>?print(str('aaa'),repr('aaa'))??
aaa?'aaa'??
~~~
4.修改字符串
字符串是不可以修改的,那么怎么修改呢?
其實過程是我們從一個字符串里面抽取某些字符,然后在加上其他的字符,形成新的字符串對象
~~~
>>>?a="abcdefghijklmn"??
>>>?id(a)??
24338048??
>>>?b=a[1:5]+"?\n?this?is?a?str"??
>>>?id(b)??
24342896??
>>>?b??
'bcde?\n?this?is?a?str'??
>>>?print(b)??
bcde???
?this?is?a?str??
>>>???
~~~
就說到這里,謝謝大家
- 前言
- 零基礎學python-7.1 python中的字符串簡介與常用函數
- 零基礎學python-7.2 字符串常量
- 零基礎學python-7.3 字符串的一般使用
- 零基礎學python-7.4 修改字符串實例總結
- 零基礎學python-7.5 文本解析
- 零基礎學python-7.6 字符串格式化表達式
- 零基礎學python-7.7 字符串格式化方法(1)
- 零基礎學python-7.7 字符串格式化方法(2)
- 輕松python文本專題-單獨處理字符串每個字符的方法匯總
- 輕松python文本專題-字符與字符值轉換
- 輕松python文本專題-判斷對象里面是否是類字符串(推薦使用isinstance(obj,str))
- 輕松python文本專題-字符串對齊
- 輕松python文本專題-去掉字符串前后空格
- 輕松python文本專題-拼接、合并字符串
- 輕松python文本專題-字符串逐字符反轉以及逐單詞反轉
- 輕松python文本專題-maketrans和translate
- 輕松python文本專題-字符串開頭或者結尾匹配