最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中常用的8種字符串操作方法

 更新時(shí)間:2019年05月06日 08:46:12   作者:sf_wangchong  
這篇文章主要介紹了Python中常用的8種字符串操作方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

拼接字符串

使用“+”可以對(duì)多個(gè)字符串進(jìn)行拼接

語(yǔ)法格式: str1 + str2

>>> str1 = "aaa"
>>> str2 = "bbb"
>>> print(str1 + str2)
aaabbb

需要注意的是字符串不允許直接與其他類型進(jìn)行拼接,例如

>>> num = 100
>>> str1 = "hello"
>>> print(str1 + num)
Traceback (most recent call last):
 File "<pyshell#5>", line 1, in <module>
 print(str1 + num)
TypeError: can only concatenate str (not "int") to str

上面這種情況我們可以將num轉(zhuǎn)換為字符串再進(jìn)行拼接

>>> num = 100
>>> str1 = "hello"
>>> print(str1 + str(num))
hello100

這樣就不會(huì)報(bào)錯(cuò)了

計(jì)算字符串的長(zhǎng)度

在Python中使用len()函數(shù)來(lái)計(jì)算字符串的長(zhǎng)度

語(yǔ)法格式: len(string)

>>> str1 = "hello"
>>> len(str1)
5
>>> str2 = "你好"
>>> len(str2)
2
>>> str3 = "1111"
>>> len(str3)
4

從上面的結(jié)果我們可以看出,在默認(rèn)情況下,len函數(shù)在計(jì)算字符串的長(zhǎng)度時(shí),無(wú)論是數(shù)字,字母還是多字節(jié)的漢字都認(rèn)為是一個(gè)字符。

為什么說(shuō)是默認(rèn)情況下呢,因?yàn)樵趯?shí)際開發(fā)中,可能因?yàn)槲覀儾扇〉木幋a不同,字符串實(shí)際所占的字節(jié)數(shù)也不同。

  • UTF-8編碼,漢字占3個(gè)字節(jié)
  • GBK或者GB2312,漢字占2個(gè)字節(jié)

這時(shí)我們可以通過(guò)使用encode()方法進(jìn)行編碼后再進(jìn)行獲取長(zhǎng)度。

例如:

>>> str1 = "你好"
>>> len(str1)
2
>>> len(str1.encode('gbk'))
4
>>> len(str1.encode('utf-8'))
6

截取字符串

語(yǔ)法格式: string[start : end : step]

參數(shù)說(shuō)明

  • string:表示要截取的字符串
  • start:表示要截取的第一個(gè)字符的索引(包括該字符),如果不指定,則默認(rèn)為0
  • end:表示要截取的最后一個(gè)字符的索引(不包括該字符),如果不指定則默認(rèn)為字符串的長(zhǎng)度。
  • step:表示切片的步長(zhǎng),如果省略,則默認(rèn)為1,當(dāng)省略該步長(zhǎng)時(shí),最后一個(gè)冒號(hào)也可以省略。
>>> str1 = "hello world!"
>>> str1[1]  #截取第2個(gè)字符
'e'
>>> str1[2:] #從第3個(gè)字符開始截取
'llo world!'
>>> str1[:4]
'hell'
>>> str1[1:5]
'ello'
>>> str1[-1] #截取最后一個(gè)字符
'!'
>>> str1[2:-2]
'llo worl'

注意:字符串的索引是從0開始的

分割字符串

python中分割字符串是使用split()方法把字符串分割成列表

語(yǔ)法格式 : str.split(sep, maxsplit)

參數(shù)說(shuō)明:

  • str:表示要進(jìn)行分割的字符串
  • sep:用于指定分隔符,可以包含多個(gè)字符,默認(rèn)為None,即所有空字符(包括空格、換行"n”、制表符“t”等)。
  • maxsplit:可選參數(shù),用于指定分割的次數(shù),如果不指定或者為-1,則分割次數(shù)沒有限制,否則返回結(jié)果列表的元素個(gè)數(shù)最多為 maxsplit+1
  • 返回值:分隔后的字符串列表。
>>> str1 = "i am a good boy!"
>>> str1.split() #采用默認(rèn)分割符進(jìn)行分割
['i', 'am', 'a', 'good', 'boy!']
>>> str1.split(" ") #采用空格進(jìn)行分割
['i', 'am', 'a', 'good', 'boy!']
>>> str1.split(" ", 3) #采用空格進(jìn)行分割,并且只分割前3個(gè)
['i', 'am', 'a', 'good boy!']

注意默認(rèn)情況下按空格分割

檢索字符串

python中字符串的查找方法

1、count()方法

語(yǔ)法格式 : str.count(sub[, start[, end]])

作用:用于檢索指定字符串在另一個(gè)字符串中出現(xiàn)的次數(shù),如果檢索的字符串不存在則返回0,否則返回出現(xiàn)的次數(shù)。

參數(shù)說(shuō)明

  • str:表示原字符串
  • sub:表示要檢索的子字符串
  • start:可選參數(shù),表示檢索范圍的起始位置的索引,如果不指定,則從頭開始檢索
  • end:可選參數(shù),表示檢索范圍的結(jié)束位置的索引,如果不指定,則一直檢索到結(jié)尾
>>> str1 = "hello world"
>>> print(str1.count('o'))
2

2、find()方法

語(yǔ)法格式 : str.find(sub[, start[, end]])

作用:檢索是否包含指定的字符串,如果檢索的字符串不存在則返回-1,否則返回首次出現(xiàn)該字符串時(shí)的索引。

>>> str1 = "hello world!"
>>> str1.find('wo')
6

3、index()方法

語(yǔ)法格式 : str.index(sub[, start[, end]])

作用:和find方法類似,也用于檢索是否包含指定的字符串,使用index方法,當(dāng)指定的字符串不存在時(shí)會(huì)拋異常。

>>> str1 = "hello world!"
>>> str1.index('w')
6
>>> str1.index('m')
Traceback (most recent call last):
 File "<pyshell#6>", line 1, in <module>
 str1.index('m')
ValueError: substring not found
>>> str1.find('m')
-1

4、startswith()方法

語(yǔ)法格式 : str.startswith(prefix[, start[, end]])

作用:檢索字符串是否以指定的字符串開頭,如果是則返回true,否則返回false。

>>> str1 = "hello world!"
>>> str1.startswith('hello')
True
>>> str1.startswith('hi')
False
>>>

5、endswith()方法

語(yǔ)法格式 : str.endswith(prefix[, start[, end]])

作用:檢索字符串是否以指定的字符串結(jié)尾,如果是則返回true,否則返回false。

>>> str1 = "hello world!"
>>> str1.endswith('world!')
True
>>> str1.endswith('haha')
False

字符串的大小寫轉(zhuǎn)換

1、lower()方法

語(yǔ)法格式 : str.lower()

作用:將字符串中的大寫字母轉(zhuǎn)換為小寫字母

>>> str1 = "Hello World!"
>>> str1.lower()
'hello world!'

2、upper()方法

語(yǔ)法格式 : str.upper()

作用:將字符串中的小寫字母轉(zhuǎn)換為大寫字母

>>> str1 = "Hello World!"
>>> str1.upper()
'HELLO WORLD!'

去除字符串中的空格和特殊字符

開發(fā)中,我們會(huì)遇到這樣的需求,字符串前后(左右側(cè))不允許出現(xiàn)空格和特殊字符或者將用戶輸入的字符串中誤輸入的空格去除掉。這時(shí)我們就需要用到strip函數(shù)。

1、strip()方法

語(yǔ)法格式 : str.strip([chars])

作用:去除字符串前后(左右側(cè))的空格或特殊字符

>>> str1 = " hello world! "
>>> str1.strip()
'hello world!'
>>> str2 = "#hello world#@#"
>>> str2.strip('#')
'hello world#@'
>>> str3 = "@hello world!@."
>>> str3.strip('@.')
'hello world!'

2、lstrip()方法

語(yǔ)法格式 : str.lstrip([chars])

作用:去除字符串前面(左側(cè))的空格或特殊字符

>>> str1 = " hello world! "
>>> str1.lstrip()
'hello world! '
>>> str2 = "#hello world#@#"
>>> str2.lstrip('#')
'hello world#@#'
>>> str3 = "@.hello world!@."
>>> str3.lstrip('@.')
'hello world!@.'

3、rstrip()方法

語(yǔ)法格式 : str.rstrip([chars])

作用:去除字符串后面(右側(cè))的空格或特殊字符

>>> str1 = " hello world! "
>>> str1.rstrip()
' hello world!'
>>> str2 = "#hello world#@#"
>>> str2.rstrip('#')
'#hello world#@'
>>> str3 = "@.hello world!@."
>>> str3.rstrip('@.')
'@.hello world!'

格式化字符串

所謂格式化字符串就是先制定一個(gè)模板,在模板中預(yù)留幾個(gè)空位,然后根據(jù)需要填上相應(yīng)的內(nèi)容。

使用“%”操作符

語(yǔ)法格式: '%[-][+][0][.n]格式化字符'%exp

參數(shù)說(shuō)明

  • -:可選參數(shù),用于指定左對(duì)齊,正數(shù)前方無(wú)符號(hào),負(fù)數(shù)前面加負(fù)號(hào)
  • +:可選參數(shù),用于指定右對(duì)齊,正數(shù)前方加正號(hào),負(fù)數(shù)前方加負(fù)號(hào)
  • 0:可選參數(shù),表示右對(duì)齊,正數(shù)前方無(wú)符號(hào),負(fù)數(shù)前方加負(fù)號(hào),用0填充空白處(一般與m參數(shù)一起使用)
  • m:可選參數(shù),表示占有寬度
  • n:可選參數(shù),表示小數(shù)點(diǎn)后保留的位數(shù)
  • 格式化字符:用于指定類型,其值如下表所示

exp:要轉(zhuǎn)換的項(xiàng),如果要指定的項(xiàng)有多個(gè),需要通過(guò)元組的形式進(jìn)行指定,但不能使用列表。

>>> template = '學(xué)號(hào):%d,姓名:%s,班級(jí):%s'
>>> print(template% (123,'張三','一年級(jí)'))
學(xué)號(hào):123,姓名:張三,班級(jí):一年級(jí)

總結(jié)

以上所述是小編給大家介紹的Python中常用的8種字符串操作方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • Python Locals變量管理新嘗試引領(lǐng)代碼風(fēng)潮

    Python Locals變量管理新嘗試引領(lǐng)代碼風(fēng)潮

    在Python中,locals()函數(shù)是一個(gè)強(qiáng)大的工具,它使程序員能夠訪問和操作當(dāng)前作用域內(nèi)的局部變量,本文將深入探討locals()函數(shù)的功能、應(yīng)用和重要性
    2024-01-01
  • python如何為list實(shí)現(xiàn)find方法

    python如何為list實(shí)現(xiàn)find方法

    這篇文章主要介紹了python如何為list實(shí)現(xiàn)find方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python區(qū)塊鏈持久化和命令行接口實(shí)現(xiàn)簡(jiǎn)版

    python區(qū)塊鏈持久化和命令行接口實(shí)現(xiàn)簡(jiǎn)版

    這篇文章主要為大家介紹了python區(qū)塊鏈持久化和命令行接口實(shí)現(xiàn)簡(jiǎn)版,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Python強(qiáng)化練習(xí)之Tensorflow2 opp算法實(shí)現(xiàn)月球登陸器

    Python強(qiáng)化練習(xí)之Tensorflow2 opp算法實(shí)現(xiàn)月球登陸器

    在面向?qū)ο蟪霈F(xiàn)之前,我們采用的開發(fā)方法都是面向過(guò)程的編程(OPP)。面向過(guò)程的編程中最常用的一個(gè)分析方法是“功能分解”。我們會(huì)把用戶需求先分解成模塊,然后把模塊分解成大的功能,再把大的功能分解成小的功能,整個(gè)需求就是按照這樣的方式,最終分解成一個(gè)一個(gè)的函數(shù)
    2021-10-10
  • Python查找算法之分塊查找算法的實(shí)現(xiàn)

    Python查找算法之分塊查找算法的實(shí)現(xiàn)

    這篇文章主要介紹了Python查找算法之分塊查找算法的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Python中str is not callable問題詳解及解決辦法

    Python中str is not callable問題詳解及解決辦法

    這篇文章主要介紹了Python中str is not callable問題詳解及解決辦法的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • 詳解Python變量與注釋高級(jí)用法

    詳解Python變量與注釋高級(jí)用法

    變量與注釋是表達(dá)作者思想的基礎(chǔ),他們對(duì)代碼質(zhì)量的貢獻(xiàn)母庸質(zhì)疑,這篇文章主要介紹了Python變量與注釋高級(jí)用法,需要的朋友可以參考下
    2022-08-08
  • Python常遇到的錯(cuò)誤和異常

    Python常遇到的錯(cuò)誤和異常

    這篇文章主要介紹了Python常遇到的錯(cuò)誤和異常,在日常的學(xué)習(xí)Python過(guò)程中,由于本身的編程水平受限,時(shí)不時(shí)的給我拋出一個(gè)異常讓我真的很難受;在學(xué)習(xí)的過(guò)程中發(fā)現(xiàn)Python中的錯(cuò)誤分為語(yǔ)法錯(cuò)誤和異常兩種。下面來(lái)看看下面文章錯(cuò)誤異常的實(shí)例,需要的朋友可以參考一下
    2021-11-11
  • 10個(gè)頂級(jí)Python實(shí)用庫(kù)推薦

    10個(gè)頂級(jí)Python實(shí)用庫(kù)推薦

    這篇文章主要推薦了10個(gè)頂級(jí)Python實(shí)用庫(kù),幫助大家更好的理解和學(xué)習(xí)實(shí)用python,感興趣的朋友可以了解下
    2021-03-03
  • matplotlib實(shí)現(xiàn)矩陣和圖像的可視化表示

    matplotlib實(shí)現(xiàn)矩陣和圖像的可視化表示

    這篇文章主要為大家詳細(xì)介紹了如何利用matplotlib實(shí)現(xiàn)矩陣和圖像的可視化表示,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解下
    2024-03-03

最新評(píng)論

云浮市| 苍南县| 孟州市| 石城县| 甘泉县| 宣恩县| 惠州市| 曲沃县| 天水市| 左贡县| 鸡西市| 长子县| 齐齐哈尔市| 垣曲县| 明光市| 井冈山市| 玛多县| 宜都市| 革吉县| 高州市| 平果县| 个旧市| 开平市| 江华| 巴林右旗| 韶山市| 北票市| 襄垣县| 普定县| 昭苏县| 嘉义市| 肥西县| 措勤县| 无为县| 伊通| 汉中市| 襄城县| 鸡泽县| 松桃| 波密县| 崇义县|