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

關于Python中字符串的各種操作

 更新時間:2021年09月09日 10:32:19   作者:碼農(nóng)飛哥  
本文將重點介紹Python字符串的各種常用方法,字符串是實際開發(fā)中經(jīng)常用到的,所有熟練的掌握它的各種用法顯得尤為重要。需要的朋友可以參考下面文章內(nèi)容

1、字符串拼接

通過+運算符
現(xiàn)有字符串碼農(nóng)飛哥好,,要求將字符串碼農(nóng)飛哥牛逼拼接到其后面,生成新的字符串碼農(nóng)飛哥好,碼農(nóng)飛哥牛逼

舉個例子:

str6 = '碼農(nóng)飛哥好,'
# 使用+ 運算符號
print('+運算符拼接的結果=',(str6 + '碼農(nóng)飛哥牛逼'))

運行結果是:

+運算符拼接的結果= 碼農(nóng)飛哥好,碼農(nóng)飛哥牛逼

2、字符串截取(字符串切片)

切片操作是訪問字符串的另一種方式,它可以訪問一定范圍內(nèi)的元素,通過切片操作,可以生成一個新的字符串。切片操作的語法格式是:

sname[start : end : step]

各個參數(shù)的含義分別是:

  • sname: 表示字符串的名稱
  • start:表示切片的開始索引位置(包括該位置),此參數(shù)也可以不指定,不指定的情況下會默認為0,也就是從序列的開頭開始切片。
  • end:表示切片的結束索引位置(不包括該位置),如果不指定,則默認為序列的長度。
  • step: 表示步長,即在切片過程中,隔幾個存儲位置(包括當前位置)取一次元素,也就是說,如果step的值大于1,比如step為3時,則在切片取元素時,會隔2個位置去取下一個元素。

還是舉個栗子說明下吧:

str1='好好學習,天天向上'
# 取出索引下標為7的值
print(str1[7])
# 從下標0開始取值,一直取到下標為7(不包括)的索引值
print(str1[0:7])
# 從下標1開始取值,一直取到下標為4(不包括)的索引值,因為step等于2,所以會隔1個元素取值
print(str1[1:4:2])
# 取出最后一個元素
print(str1[-1])
# 從下標-9開始取值,一直取到下標為-2(不包括)的索引值
print(str1[-9:-2])

運行的結果是:

向
好好學習,天天
好習
上
好好學習,天天

3、分割字符串

Python提供了split()方法用于分割字符串,split() 方法可以實現(xiàn)將一個字符串按照指定的分隔符切分成多個子串,這些子串會被保存到列表中(不包含分隔符),作為方法的返回值反饋回來。該方法的基本語法格式如下:

str.split(sep,maxsplit)

此方法中各部分參數(shù)的含義分別是:

  • str: 表示要進行分割的字符串
  • sep: 用于指定分隔符,可以包含多個字符,此參數(shù)默認為None,表示所有空字符,包括空格,換行符"\n"、制表符"\t"等
  • maxsplit: 可選參數(shù),用于指定分割的次數(shù),最后列表中子串的個數(shù)最多為maxsplit+1,如果不指定或者指定為-1,則表示分割次數(shù)沒有限制。

在 split 方法中,如果不指定 sep 參數(shù),那么也不能指定 maxsplit 參數(shù)。

舉例說明下:

str = 'https://feige.blog.csdn.net/'
print('不指定分割次數(shù)', str.split('.'))
print('指定分割次數(shù)為2次',str.split('.',2))

運行結果是:

不指定分割次數(shù) ['https://feige', 'blog', 'csdn', 'net/']
指定分割次數(shù)為2次 ['https://feige', 'blog', 'csdn.net/']

4、合并字符串

合并字符串與split的作用剛剛相反,Python提供了join() 方法來將列表(或元組)中包含的多個字符串連接成一個字符串。其語法結構是:

newstr = str.join(iterable)

此方法各部分的參數(shù)含義是:

  • newstr: 表示合并后生成的新字符串
  • str: 用于指定合并時的分隔符
  • iterable: 做合并操作的源字符串數(shù)據(jù),允許以列表、元組等形式提供。

依然是舉例說明:

list = ['碼農(nóng)飛哥', '好好學習', '非常棒']
print('通過.來拼接', '.'.join(list))
print('通過-來拼接', '-'.join(list))

運行結果是:

通過.來拼接 碼農(nóng)飛哥.好好學習.非常棒
通過-來拼接 碼農(nóng)飛哥-好好學習-非常棒

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

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

str.count(sub[,start[,end]])

此方法各部分參數(shù)的含義是:

  • str: 表示原字符串
  • sub: 表示要檢索的字符串.
  • start: 指定檢索的起始位置,也就是從什么位置開始檢測,如果不指定,默認從頭開始檢索。
  • end: 指定檢索的終止位置,如果不指定,則表示一直檢索到結尾

舉個例子說明:

str = 'https://feige.blog.csdn.net/'
print('統(tǒng)計.出現(xiàn)的次數(shù)', str.count('.'))
print('從1位置到倒數(shù)第五個位置統(tǒng)計.出現(xiàn)的次數(shù)', str.count('.', 1, -5))

運行結果是:

統(tǒng)計.出現(xiàn)的次數(shù) 3
從1位置到倒數(shù)第6個位置統(tǒng)計.出現(xiàn)的次數(shù) 2

6、檢測字符串是否包含某子串

Python提供find方法,用于檢索字符串中是否包含目標字符串,如果包含,則返回第一次出現(xiàn)該字符串的索引,反之,則返回-1。其語法結構是:

str.find(sub[,start[,end]])

此方法各參數(shù)的含義是:

  • str: 表示原字符串
  • sub: 表示要檢索的目標字符串
  • start: 表示開始檢索的起始位置,如果不指定,則默認從頭開始檢索
  • end: 表示結束檢索的結束位置,如果不指定,則默認一直檢索到結尾。

Python還提供了rfind()方法,與find()方法最大的不同在于,rfind()是從字符串右邊開始檢索。

依然是舉例說明:

str = '碼農(nóng)飛哥'
print('檢索是否包含字符串"飛哥"', str.find('飛哥'))
print("檢索是否包含字符串'你好'", str.find('你好'))

運行結果是:

檢索是否包含字符串"飛哥" 2
檢索是否包含字符串'你好' -1

Python還提供了indext()方法檢測字符串中是否包含某子串,方法的參數(shù)與find方法相同,唯一不同之處在于當指定的字符串不存在時,index()方法會拋出異常。在此就不在贅述了。

7、字符串對齊方法

Python str提供了3種可用來進行文本對齊的方法,分別是ljust(),rjust()和center()方法

(1)ljust()用于向指定字符串的右側填充指定字符,從而達到左對齊文本的目的,其語法結構是

S.ljust(width[, fillchar])

此方法中各個參數(shù)的含義是:

  • S: 表示要進行填充的字符串
  • width: 表示包括S本身長度在內(nèi),字符串要占的總長度
  • fillchar: 作為可選參數(shù),用來指定填充字符串時所用的字符,默認情況使用空格。

(2)rjust() 方法是向字符串的左側填充指定字符,從而達到右對齊文本的目的。
(3)center()方法用于讓文本居中,而不是左對齊或右對齊

舉個例子說明下:

str1 = 'https://feige.blog.csdn.net/'
str2 = 'https://www.baidu.com/'
print("通過-實現(xiàn)左對齊", str1.ljust(30, '-'))
print("通過-實現(xiàn)左對齊", str2.ljust(30, '-'))
print("通過-實現(xiàn)右對齊", str1.rjust(30, '-'))
print("通過-實現(xiàn)右對齊", str2.rjust(30, '-'))
print("通過-實現(xiàn)居中對齊", str1.center(30, '-'))
print("通過-實現(xiàn)居中對齊", str2.center(30, '-'))

運行結果是:

通過-實現(xiàn)左對齊 https://feige.blog.csdn.net/--
通過-實現(xiàn)左對齊 https://www.baidu.com/--------
通過-實現(xiàn)右對齊 --https://feige.blog.csdn.net/
通過-實現(xiàn)右對齊 --------https://www.baidu.com/
通過-實現(xiàn)居中對齊 -https://feige.blog.csdn.net/-
通過-實現(xiàn)居中對齊 ----https://www.baidu.com/----

8、檢索字符串是否以指定字符串開頭(startswith())

startswith()方法用于檢索字符串是否以指定字符串開頭,如果是返回True;反之返回False。其語法結構是:

str.startswith(sub[,start[,end]])

此方法各個參數(shù)的含義是:

  • str: 表示原字符串
  • sub: 要檢索的子串‘
  • start: 指定檢索開始的起始位置索引,如果不指定,則默認從頭開始檢索
  • end: 指定檢索的結束位置索引,如果不指定,則默認一直檢索到結束。

舉個栗子說明下:

str1 = 'https://feige.blog.csdn.net/'
print('是否是以https開頭', str1.startswith('https'))
print('是否是以feige開頭', str1.startswith('feige', 0, 20))

運行結果是:

是否是以https開頭 True
是否是以feige開頭 False

9、檢索字符串是否以指定字符串結尾(endswith())

endswith()方法用于檢索字符串是否以指定字符串結尾,如果是則返回True,反之則返回False。其語法結構是:

str.endswith(sub[,start[,end]])

此方法各個參數(shù)的含義與startswith方法相同,再此就不在贅述了。

10、字符串大小寫轉換(3種)函數(shù)及用法

Python中提供了3種方法用于字符串大小寫轉換

  • title()方法用于將字符串中每個單詞的首字母轉成大寫,其他字母全部轉為小寫。轉換完成后,此方法會返回轉換得到的字符串。如果字符串中沒有需要被轉換的字符,此方法會將字符串原封不動地返回。其語法結構是str.title()
  • lower()用于將字符串中的所有大寫字母轉換成小寫字母,轉換完成后,該方法會返回新得到的子串。如果字符串中原本就都是小寫字母,則該方法會返回原字符串。 其語法結構是str.lower()
  • upper()用于將字符串中的所有小寫字母轉換成大寫字母,如果轉換成功,則返回新字符串;反之,則返回原字符串。其語法結構是str.upper()。

舉例說明下吧:

str = 'feiGe勇敢飛'
print('首字母大寫', str.title())
print('全部小寫', str.lower())
print('全部大寫', str.upper())

運行結果是:

首字母大寫 Feige勇敢飛
全部小寫 feige勇敢飛
全部大寫 FEIGE勇敢飛

11、去除字符串中空格(刪除特殊字符)的3種方法

Python中提供了三種方法去除字符串中空格(刪除特殊字符)的3種方法,這里的特殊字符,指的是指表符(\t)、回車符(\r),換行符(\n)等。

  • strip(): 刪除字符串前后(左右兩側)的空格或特殊字符
  • lstrip():刪除字符串前面(左邊)的空格或特殊字符
  • rstrip():刪除字符串后面(右邊)的空格或特殊字符

Python的str是不可變的,因此這三個方法只是返回字符串前面或者后面空白被刪除之后的副本,并不會改變字符串本身

舉個例子說明下:

str = '\n碼農(nóng)飛哥勇敢飛 '
print('去除前后空格(特殊字符串)', str.strip())
print('去除左邊空格(特殊字符串)', str.lstrip())
print('去除右邊空格(特殊字符串)', str.rstrip())

運行結果是:

去除前后空格(特殊字符串) 碼農(nóng)飛哥勇敢飛
去除左邊空格(特殊字符串) 碼農(nóng)飛哥勇敢飛 
去除右邊空格(特殊字符串) 
碼農(nóng)飛哥勇敢飛

12、encode()和decode()方法:字符串編碼轉換

最早的字符串編碼是ASCll編碼,它僅僅對10個數(shù)字,26個大小寫英文字母以及一些特殊字符進行了編碼,ASCII碼最多只能表示256個字符,每個字符只需要占用1個字節(jié)。為了兼容各國的文字,相繼出現(xiàn)了GBK,GB2312,UTF-8編碼等,UTF-8是國際通用的編碼格式,它包含了全世界所有國家需要用到的字符,其規(guī)定英文字符占用1個字節(jié),中文字符占用3個字節(jié)。

  • encode() 方法為字符串類型(str)提供的方法,用于將 str 類型轉換成 bytes 類型,這個過程也稱為“編碼”。其語法結構是:str.encode([encoding="utf-8"][,errors="strict"])
  • 將bytes類型的二進制數(shù)據(jù)轉換成str類型。這個過程也稱為"解碼",

其語法結構是:bytes.decode([encoding="utf-8"][,errors="strict"])

舉個例子說明下:

str = '碼農(nóng)飛哥加油'
bytes = str.encode()
print('編碼', bytes)
print('解碼', bytes.decode())

運行結果是:

編碼 b'\xe7\xa0\x81\xe5\x86\x9c\xe9\xa3\x9e\xe5\x93\xa5\xe5\x8a\xa0\xe6\xb2\xb9'
解碼 碼農(nóng)飛哥加油

默認的編碼格式是UTF-8,編碼和解碼的格式要相同,不然會解碼失敗。

13、序列化和反序列化

在實際工作中我們經(jīng)常要將一個數(shù)據(jù)對象序列化成字符串,也會將一個字符串反序列化成一個數(shù)據(jù)對象。Python自帶的序列化模塊是json模塊。

  • json.dumps() 方法是將Python對象轉成字符串
  • json.loads()方法是將已編碼的 JSON 字符串解碼為 Python 對象

舉個例子說明下:

import json

dict = {'學號': 1001, 'name': "張三", 'score': [{'語文': 90, '數(shù)學': 100}]}
str = json.dumps(dict,ensure_ascii=False)
print('序列化成字符串', str, type(str))
dict2 = json.loads(str)
print('反序列化成對象', dict2, type(dict2))

運行結果是:

序列化成字符串 {"name": "張三", "score": [{"數(shù)學": 100, "語文": 90}], "學號": 1001} <class 'str'>
反序列化成對象 {'name': '張三', 'score': [{'數(shù)學': 100, '語文': 90}], '學號': 1001} <class 'dict'>

 到此這篇關于關于Python中字符串的各種操作的文章就介紹到這了,更多相關Python中字符串的各種操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python抓取百度查詢結果的方法

    Python抓取百度查詢結果的方法

    這篇文章主要介紹了Python抓取百度查詢結果的方法,涉及Python正則匹配及字符串與URL操作的相關技巧,需要的朋友可以參考下
    2015-07-07
  • Python SMTP發(fā)送電子郵件的示例

    Python SMTP發(fā)送電子郵件的示例

    這篇文章主要介紹了Python SMTP發(fā)送電子郵件的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-09-09
  • PyGraphviz 安裝使用及注意事項

    PyGraphviz 安裝使用及注意事項

    PyGraphviz 是對 Graphviz 的封裝,提供了 Python 接口的調(diào)用,這篇文章主要介紹了PyGraphviz 安裝使用,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • Django單元測試的具體使用

    Django單元測試的具體使用

    Django提供了一套強大的測試工具來幫助開發(fā)者編寫和運行單元測試,本文就來介紹一下Django中的單元測試,包括測試原理、編寫測試用例和運行測試,感興趣的可以了解一下
    2023-11-11
  • 詳解Python中find()方法的使用

    詳解Python中find()方法的使用

    這篇文章主要介紹了詳解Python中find()方法的使用,是Python學習中的基礎知識,需要的朋友可以參考下
    2015-05-05
  • Python分支語句與循環(huán)語句應用實例分析

    Python分支語句與循環(huán)語句應用實例分析

    這篇文章主要介紹了Python分支語句與循環(huán)語句應用,結合具體實例形式詳細分析了Python分支語句與循環(huán)語句各種常見應用操作技巧與相關注意事項,需要的朋友可以參考下
    2019-05-05
  • python中getattr函數(shù)使用方法 getattr實現(xiàn)工廠模式

    python中getattr函數(shù)使用方法 getattr實現(xiàn)工廠模式

    這篇文章主要介紹了python中getattr()這個函數(shù)的一些用法,大家參考使用吧
    2014-01-01
  • 初學python數(shù)組的處理代碼

    初學python數(shù)組的處理代碼

    初學python數(shù)組的處理代碼,學習python的朋友可以參考下。
    2011-01-01
  • pandas read_excel()和to_excel()函數(shù)解析

    pandas read_excel()和to_excel()函數(shù)解析

    這篇文章主要介紹了pandas read_excel()和to_excel()函數(shù)解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • Pandas之groupby( )用法筆記小結

    Pandas之groupby( )用法筆記小結

    這篇文章主要介紹了Pandas之groupby( )用法筆記小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07

最新評論

桐庐县| 门头沟区| 西昌市| 竹北市| 青河县| 邢台县| 文登市| 楚雄市| 句容市| 疏附县| 通榆县| 来安县| 东平县| 濉溪县| 横山县| 五莲县| 都安| 安国市| 德兴市| 聊城市| 昌宁县| 郴州市| 饶阳县| 海原县| 怀远县| 阿克苏市| 武城县| 贵溪市| 花莲县| 汉中市| 万荣县| 宁城县| 繁峙县| 黄陵县| 中宁县| 福海县| 山东省| 扎赉特旗| 长治市| 观塘区| 邵阳市|