3. python 字符串的一般使用

2022-07-04 15:05 更新

3. Python 字符串的一般使用

1. 基本操作

1)使用 + 連接

  >>> "abc"+"efg"  
  'abcefg'  
  >>> a="abc"  
  >>> b="efg"  
  >>> c=a+b  
  >>> c  
  'abcefg'  
  >>>   

2)使用 * 重復(fù)

 >>> "abc"*3  
  'abcabcabc'  
  >>> "abc\n"*3  
  'abc\nabc\nabc\n'  
  >>> print("abc\n"*3)  
  abc  
  abc  
  abc  
    
  >>>   

3)字符串不能使用 + 連接數(shù)字

  >>> "abc"+9  
  Traceback (most recent call last):  
    File "", line 1in   
      "abc"+9  
  TypeError: Can't convert 'int' object to str implicitly  

4)使用 for 來(lái)迭代

 >>> a="abcdefg"  
  >>> for x in a:print(x)  
    
  a  
  b  
  c  
  d  
  e  
  f  
  g  

5)使用 in 來(lái)找字符,后面我們還會(huì)說(shuō)到 str.find() 方法,跟 in 非常相似

  >>> a="abcdefg"  
  >>> "h" in a  
  False  
  >>> "abc" in a  
  True  
  >>>   

2. 索引與分片

1)索引

字符串可以通過(guò)索引來(lái)查找想要的字符,而且索引分成正負(fù),通過(guò)不同的查詢方向來(lái)查找

  >>> a="abcdefg"  
  >>> a[0],a[1],a[5]  
  ('a''b''f')  
  >>> a[-2],a[-1],a[-5]  
  ('f''g''c')  
  >>>   

2)分片,說(shuō)白了就是提取字符串的某些部分,而且當(dāng)索引使用負(fù)數(shù)則返回空

  >>> a="abcdefg"  
  >>> a[1:]  
  'bcdefg'  
  >>> a[1:3]  
  'bc'  
  >>> a[-1:3]  
  ''  
  >>>   

我使用一張圖來(lái)說(shuō)明一下這個(gè)分片是怎么分的,以 a[1:3] 為例子

從圖上面我們比較清楚情況,對(duì)于 1,他是把指針?lè)诺絘的后面,從 b 開(kāi)始數(shù),a 不算,然后后面的 3,他是把指針?lè)诺?d 的前面,不算 d

所以返回的只有 bc

還有需要特殊說(shuō)明一些例子:

a[1:] 從第二個(gè)字符開(kāi)始到結(jié)束

a[:3] 從第一個(gè)字符開(kāi)始到第二個(gè)字符,也就是第三個(gè)字符前

a[:] 復(fù)制所有字符

其實(shí)還有第三個(gè)參數(shù),步進(jìn),說(shuō)白了,就是跳著選,就是要看跳幾個(gè)而已

  >>> a="abcdefghijklmn"  
 >>> a[2:8:2]  
 'ceg'  
  >>> a[::3]  
  'adgjm'  
  >>>   

a[2:8:2] 代表從第三個(gè)字符開(kāi)始抽取,到第八個(gè)之前也就是第七個(gè),然后每隔 2 個(gè)挑一個(gè)出來(lái)

a[::3]代表從所有字符中每隔3個(gè)挑一個(gè)出來(lái)

如果步進(jìn)是復(fù)數(shù),則反著挑

3. 字符串轉(zhuǎn)換 str()與 repr()

  >>> str(42)  
  '42'  
  >>> repr(43)  
  '43'  

區(qū)別,在使用 print 的時(shí)候,repr 多了一對(duì)單引號(hào)

  >>> print(str('aaa'),repr('aaa'))  
  aaa 'aaa'  

4. 修改字符串

字符串是不可以修改的,那么怎么修改呢?

其實(shí)過(guò)程是我們從一個(gè)字符串里面抽取某些字符,然后在加上其他的字符,形成新的字符串對(duì)象

 >>> 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  
 >>>   
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)