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

Python入門(mén)之字符串操作詳解

 更新時(shí)間:2022年09月01日 08:58:47   作者:胡安民  
字符串是Pyhon常用的數(shù)據(jù)類型,這篇文章主要為大家詳細(xì)介紹一下python字符串的一些常見(jiàn)實(shí)用操作,需要的朋友可以參考下

字符串

字符串常用操作

拼接字符串

拼接字符串需要使用‘+’運(yùn)算符可完成對(duì)多個(gè)字符串的拼接。如

str = "a"+"b"

字符串不允許直接與其他類型的數(shù)據(jù)拼接,需要將其他類型轉(zhuǎn)換為字符串才可以進(jìn)行拼接。

字符串復(fù)制

使用運(yùn)算符 * 重復(fù)輸出字符串

    str = "hello world"*2
    print(str)# hello worldhello world

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

不同的字符所占字節(jié)數(shù)不同,在python中數(shù)字、英文、小數(shù)點(diǎn)、下劃線和空格占一個(gè)字節(jié),一個(gè)漢字可能會(huì)占2~4個(gè)字節(jié),取決于采用的編碼。漢字在GBK/GB2312編碼中占2個(gè)字節(jié),在UTF-8/Unicode編碼中一般占用3個(gè)字節(jié)(或4個(gè)字節(jié))。python中默認(rèn)的編碼格式是UTF-8,即一個(gè)漢字占3個(gè)字節(jié)。python中,提供了內(nèi)置函數(shù)len()計(jì)算字符串的長(zhǎng)度,默認(rèn)情況下通過(guò)len()函數(shù)計(jì)算字符串的長(zhǎng)度時(shí),不區(qū)分英文、數(shù)字和漢字,所有字符都按照一個(gè)字符來(lái)計(jì)算

    str = "hello world"
    len = len(str)
    print(len)# 11

截取字符串和獲取單個(gè)字符

通過(guò)索引 [] 獲取字符串中指定位置的字符

    str = "hello world"
    print(str[0])# h
    print(str[1])# e

在 Python 中,使用語(yǔ)法 string[start:end],獲取字符串 string 中在 [start, end) 范圍的子字符串。注意范圍 [start, end) 包含 start,不包含 end。舉例如下:

    str = "hello world"
    print(str[0:3])# hel
    print(str[:5])  # hello
    print(str[-3:])  # rld
    print(str[3:])# lo world
    print(str[:])# hello world

字符串包含判斷

通過(guò)關(guān)鍵字 in 檢查字符串中是否包含指定字符串

    pd = "hello" in "hello world"  # hello world 是否包含 hello
    print(pd) # True
    pd = "hello" not in "hello world"  # hello world 是否不包含 hello
    print(pd) # False

常用字符串方法

把字符串的第一個(gè)字符大寫(xiě)

capitalize() 方法把字符串的第一個(gè)字符大寫(xiě),示例如下:

    text = 'abc'
    text = text.capitalize()
    print(text)  # Abc

統(tǒng)計(jì)字符串出現(xiàn)的次數(shù)

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

    text = 'abc abc'
    count = text.count('abc') # 2
    print(count)

檢查字符串開(kāi)頭

startswith() 方法用于檢索字符串是否以指定的子字符串開(kāi)頭,如果是則返回True,否則返回False。

    text = 'abc'
    pd = text.startswith('ab')
    print(pd)

檢查字符串結(jié)尾

endswith() 方法用于檢索字符串是否以指定的子字符串結(jié)尾,如果是則返回True,否則返回False

    text = 'abc'
    pd = text.endswith('bc')
    print(pd)

大寫(xiě)轉(zhuǎn)小寫(xiě)

lower() 方法用于將字符串中的大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字符,如果字符串中沒(méi)有需要轉(zhuǎn)換的字符,則將原字符串返回。

    text = 'ABC'
    lower = text.lower()
    print(lower) # abc

小寫(xiě)轉(zhuǎn)大寫(xiě)

upper() 方法用于將字符串中的大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字符,如果字符串中沒(méi)有需要轉(zhuǎn)換的字符,則將原字符串返回。

str1 = "asdfg"
print(str1.upper())

大小寫(xiě)翻轉(zhuǎn)

swapcase() 方法用于對(duì)字符串的大小寫(xiě)字母進(jìn)行轉(zhuǎn)換,即將大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母,小寫(xiě)字母會(huì)轉(zhuǎn)換為大寫(xiě)字母。

    str1 = 'avvvv'
    print(str1.swapcase())

標(biāo)題化字符串

istitle() 方法檢測(cè)字符串中所有的單詞拼寫(xiě)首字母是否為大寫(xiě),且其他字母為小寫(xiě)。如果字符串中所有的單詞拼寫(xiě)首字母是否為大寫(xiě),且其他字母為小寫(xiě)則返回 True,否則返回 False.

str = "This is string example....wow!!!";
print str.istitle();

title() 方法返回"標(biāo)題化"的字符串,就是說(shuō)所有單詞都是以大寫(xiě)開(kāi)始,其余字母均為小寫(xiě)

     str = "this is string example....wow!!!"
    print(str.title())# This Is String Example....Wow!!!

空格刪除

    text = '  abcdaaa  '
    print(text.strip())  # 刪除開(kāi)始和結(jié)尾的空格
    print(text.lstrip())  # 刪除左邊的空格
    print(text.rstrip())  # 刪除右邊的空格

合并字符串

合并字符串與拼接字符串不同,它可以將多個(gè)字符串采用固定的分隔符連接在一起。合并字符串可以使用字符串對(duì)象的join() 方法實(shí)現(xiàn)

    text = 'abc'
    print(text.join("def")) 

分割字符串

分割字符串是把字符串分割為列表,通過(guò)split() 函數(shù)可以實(shí)現(xiàn)字符串分割,也就是把一個(gè)字符串按照指定的分隔符切分為列表。

    text = 'hello,a,v,c'
    print(text.split(','))  # ['hello', 'a', 'v', 'c']

將字符串按照行分割

splitlines() 按照行(‘\r’, ‘\r\n’, \n’)分隔,返回一個(gè)包含各行作為元素的列表,如果參數(shù) keepends 為 False,不包含換行符,如果為 True,則保留換行符。

    str1 = 'ab c\n1111\nde fg\rkl\r\n'
    print(str1.splitlines()) # ['ab c', '1111', 'de fg', 'kl']

判斷字符串只是數(shù)字

isnumeric() 方法檢測(cè)字符串是否只由數(shù)字組成。如果字符串中只包含數(shù)字字符,則返回 True,否則返回 False

    str = "2009"
    print( str.isnumeric()) # True

判斷是空字符

isspace() 方法檢測(cè)字符串是否只由空格組成。 如果字符串中只包含空格,則返回 True,否則返回 False.

str = "       "; 
print str.isspace();

字符串填充

zfill() 方法返回指定長(zhǎng)度的字符串,不夠的長(zhǎng)度的原字符串前面填充0。

    str = "this is string example....wow!!!"
    print(str.zfill(40)) # 00000000this is string example....wow!!!

ljust() 方法和zfill一樣,默認(rèn)填充空白,我們可以指定填充的內(nèi)容,填充的方向是右側(cè)

    str = "this is string example....wow!!!"
    print(str.ljust(40,'0')) # this is string example....wow!!!00000000

字符串搜索

find() 方法用于檢索是否包含指定的子字符串,如果檢索的字符串不存在責(zé)返回-1,否則返回首次出現(xiàn)該子字符串時(shí)的索引

    text = 'abcdef'
    print(text.find("cd")) # 2

python還提供了rfind() 方法,其作用和find() 方法類似,只是從字符串右邊開(kāi)始檢索。

python還提供了index() 方法同find() 方法類似,也是用于檢索是否包含指定的子字符串。只不過(guò)是用index() 方法時(shí),當(dāng)指定的字符串不存在時(shí)則會(huì)拋出異常

python還提供了rindex() 方法其作用同index() 方法類似,只是從字符串右邊開(kāi)始檢索。

字符串替換

replace() 方法把字符串中的 old(舊字符串) 替換成 new(新字符串),如果指定第三個(gè)參數(shù)max,則替換不超過(guò) max 次。

參數(shù)

old – 將被替換的子字符串。

new – 新字符串,用于替換old子字符串。

max – 可選字符串, 替換不超過(guò) max 次 (默認(rèn)最大)

    str = "this is string example....wow!!! this is really string"
    print(str.replace("is", "was"))

格式化字符串

格式化字符串是指先制定一個(gè)模板,在這個(gè)模板中預(yù)留幾個(gè)空位,然后在根據(jù)需要填上相對(duì)應(yīng)的內(nèi)容。這些空位需要通過(guò)指定的符號(hào)標(biāo)記(也稱為占位符),而這些符號(hào)還不會(huì)顯示出來(lái)。

python中提供了如下兩種方法格式化字符串:

使用’%’ 操作符

    text = 'hello %s' % 'java'
    print(text)  # hello java

    text = 'hello %s %s' % ('java', 'python')
    print(text)  # hello python world

使用字符串對(duì)象的format() 方法

在創(chuàng)建模板時(shí)需要使用’{}‘和’:’ ,指定占位符,例如:

字符串編碼轉(zhuǎn)換

Python 3.x 默認(rèn)采用 UTF-8 編碼格式,有效地解決了中文亂碼的問(wèn)題。但是有些時(shí)候數(shù)據(jù)是第三方獲取的,那么我們就不能保證編碼就是UTF-8的所以我們就需要進(jìn)行編碼轉(zhuǎn)換了

編碼

encode() 方法用于將 str 類型轉(zhuǎn)換成 bytes 類型,這個(gè)過(guò)程也稱為“編碼”。str.encode([encoding="utf-8"][,errors="strict"])

注意:格式中用 [] 括起來(lái)的參數(shù)為可選參數(shù),也就是說(shuō),在使用此方法時(shí),可以使用 [] 中的參數(shù),也可以不使用。該方法各個(gè)參數(shù)的含義如表 所示。

注意:使用 encode() 方法對(duì)原字符串進(jìn)行編碼,不會(huì)直接修改原字符串,如果想修改原字符串,需要重新賦值。

    str = "中文網(wǎng)"
    encode = str.encode('utf-8')   # 返回的類型為bytes 
    print(encode)  # b'\xe4\xb8\xad\xe6\x96\x87\xe7\xbd\x91'

解碼

和 encode() 方法正好相反,decode() 方法用于將 bytes 類型的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為 str 類型,這個(gè)過(guò)程也稱為“解碼”。bytes.decode([encoding="utf-8"][,errors="strict"])該方法中各參數(shù)的含義如表所示。

    str = "中文網(wǎng)"
    encode = str.encode('utf-8')
    decode = encode.decode('utf-8')
    print(decode)  # 中文網(wǎng)

以上就是Python入門(mén)之字符串操作詳解的詳細(xì)內(nèi)容,更多關(guān)于Python字符串操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • pip更新問(wèn)題的解決:'python -m pip install --upgrade pip' 報(bào)錯(cuò)問(wèn)題(最新推薦)

    pip更新問(wèn)題的解決:'python -m pip install -

    這篇文章主要介紹了pip更新問(wèn)題的解決:'python -m pip install --upgrade pip' 報(bào)錯(cuò)問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • python測(cè)試開(kāi)發(fā)django之使用supervisord?后臺(tái)啟動(dòng)celery?服務(wù)(worker/beat)

    python測(cè)試開(kāi)發(fā)django之使用supervisord?后臺(tái)啟動(dòng)celery?服務(wù)(worker/beat)

    Supervisor是用Python開(kāi)發(fā)的一個(gè)client/server服務(wù),是Linux/Unix系統(tǒng)下的一個(gè)進(jìn)程管理工具,不支持Windows系統(tǒng),這篇文章主要介紹了python測(cè)試開(kāi)發(fā)django之使用supervisord?后臺(tái)啟動(dòng)celery?服務(wù)(worker/beat),需要的朋友可以參考下
    2022-07-07
  • python導(dǎo)入csv文件出現(xiàn)SyntaxError問(wèn)題分析

    python導(dǎo)入csv文件出現(xiàn)SyntaxError問(wèn)題分析

    這篇文章主要介紹了python導(dǎo)入csv文件出現(xiàn)SyntaxError問(wèn)題分析,同時(shí)涉及python導(dǎo)入csv文件的三種方法,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • python3.6 +tkinter GUI編程 實(shí)現(xiàn)界面化的文本處理工具(推薦)

    python3.6 +tkinter GUI編程 實(shí)現(xiàn)界面化的文本處理工具(推薦)

    這篇文章主要介紹了python3.6 +tkinter GUI編程 實(shí)現(xiàn)界面化的文本處理工具(推薦)的相關(guān)資料,需要的朋友可以參考下
    2017-12-12
  • Python中多線程thread與threading的實(shí)現(xiàn)方法

    Python中多線程thread與threading的實(shí)現(xiàn)方法

    這篇文章主要介紹了Python中多線程thread與threading的實(shí)現(xiàn)方法,很重要的應(yīng)用,需要的朋友可以參考下
    2014-08-08
  • Python?OpenCV識(shí)別行人入口進(jìn)出人數(shù)統(tǒng)計(jì)

    Python?OpenCV識(shí)別行人入口進(jìn)出人數(shù)統(tǒng)計(jì)

    本文主要介紹了Python?OpenCV識(shí)別行人入口進(jìn)出人數(shù)統(tǒng)計(jì),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2023-01-01
  • python基于openpyxl生成excel文件

    python基于openpyxl生成excel文件

    這篇文章主要介紹了python基于openpyxl生成excel文件的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • python上下文管理器協(xié)議的實(shí)現(xiàn)

    python上下文管理器協(xié)議的實(shí)現(xiàn)

    這篇文章主要介紹了python上下文管理器協(xié)議的實(shí)現(xiàn),在python中所有實(shí)現(xiàn)了上下文管理器協(xié)議的對(duì)象 都可以用使用with操作,with啟動(dòng)了對(duì)象的上下文管理器
    2022-06-06
  • 最新評(píng)論

    临清市| 禄劝| 奉新县| 清远市| 丹江口市| 清涧县| 延边| 金昌市| 山西省| 河西区| 邓州市| 察隅县| 吉安县| 康保县| 兴宁市| 尚志市| 永平县| 大关县| 大庆市| 平乡县| 华池县| 靖安县| 赤城县| 子洲县| 息烽县| 古蔺县| 北安市| 化德县| 汉沽区| 高安市| 彩票| 体育| 甘谷县| 汉川市| 历史| 开平市| 伊金霍洛旗| 利川市| 富川| 郯城县| 华阴市|