python字符串怎么用_零基础如何使用python处理字符串?
摘要:Python的普遍使用場景是自動化測試、爬取網頁數據、科學分析之類,這其中都涉及到了對數據的處理,而數據的表現形式很多,今天我們來講講字符串的操作。
字符串是作為任意一門編程語言的基礎,在Python中的關鍵字叫做str。而本文對字符串的操作都是建立在數據是字符串而言,可以通過內置函數type()來測試一組數據是否是字符串。
官方標準庫有一個獨立的文件叫string.py,對字符串的一些常量和方法進行了定義。新手不用去查閱,應先知其然,不用知其所以然,否則學習的動力瞬間煙消云散,深奧晦澀的術語直接讓你蒙圈。
字符串的概念很好理解,就是一串連續的東西,由各種符號文字組成的一個整體。如果我們想對這一個整體的部分內容進行選取或者替換呢?諸如此類的操作叫字符串方法,官方給出了如此之多的方法:
我們先依次對這些字符串方法簡單介紹一下作用。
是不是看得眼花繚亂?別擔心,接下來我們就重點講解新手入門常用的一些字符串方法,幫助你完善日常字符串處理能力。
字符串方法之:字母大小寫
capitalize() vs?title()
這兩個方法都是首字母大寫,但是title允許前面有非字母字符,是真正意義上的首字母大寫,對于新手而言,title()更簡短更好記,而且適用范圍更廣。如果二選一的話,建議先記住一個字符串首字母需要大寫的情況下優先使用title()。
casefold() vs?lower()
不像前面的首字母大寫還區分前面是否包含非字母字符,casefold和lower的作用是字符串里面所有的大寫字母轉換為小寫,區別在哪呢?lower可以理解為casefold的子集,casefold除了可以轉換英文字母的小寫,還可以轉換其他語言的小寫。優先記住casefold,總能達到小寫轉換的目的。
upper() vs swapcase()
字母全部大寫就簡單好記了,預設方法就upper。畢竟它強大到非英文字母也能轉換,所以有它足矣。而swapcase和upper一樣強大,對任意字符串的字母進行反轉,同樣適用于非英語范圍。
字符串方法之:真值檢測
istitle() vs islower() vs?isupper()
上面我們已經學習過這三個對于大小寫的操作方法,現在前面分別加了is的作用是判斷字符串是否滿足該方法,并得到一個布爾值。
isalnum() vs isalpha()
字符串里是否有字母我們可以使用這兩個判斷,如果不但想知道是否有字母,還想知道是否有數字?那么isalnum就為你量身定做。
isdecimal() vs?isdigit() vs isnumeric()
當然更加準確的判斷數字可以使用這些方法,isdecimal是檢測字符串是否全部為十進制數字,而十進制數字也就是我們平時輸入的數字。新手平時使用的也就是數字,那么isdigit和isnumeric也是用來檢測字符串是否全部為數字組成。三者都是用來檢測數字,區別呢?我相信python開發者不會為一個作用創造出好幾種方法。主要區別是isdigit可以檢測字節中的數字,isnumeric可以檢測其他語言的數字,如中文。
其余的如isascii和isprintable暫時不做解釋,畢竟字符編碼新手還未理解。isidentifier依然忽略,畢竟關鍵字和標識符這些概念需要慢慢理解和識記。至于isspace那就相當簡單,判斷是否包含空格而已。而前面篇幅我們了解了很多關于字符串數字和字母操作,而不管數字還是字母都屬于字符,而startswith就是從左開始判斷字符串是否包含指定字符,而endswith則是從右。
字符串方法之:增刪查改
是時候表演真正的技術了,字符串方法如果僅僅只是比較大小寫,判斷數字是否太low了?很多時候,我們想把原字符串進行修改替換,那么怎么辦呢?
增:zfill()
如果我們字符串長度為5,而我們需要按照長度為10進行存儲。這時候就可以使用zfill,長度不夠,用0從左開始占位進行補充。
至于ljust和rjust可以不做了解,比較對于空格大家都是會處理掉,而不是增加。ljust是向右增加長度,rjust則是向左增加長度,用空格進行補充。
同樣作為空格填充的還有center,指定一個長度,長度不夠,則用空格從兩邊均勻填充,使得字符串保持居中的位置。
刪:strip() vs removeprefix() vs removesuffix()
strip用來去除字符串兩端的空格,lstrip和rstrip大同小異,不過只能單向刪去,前者刪除左側,后者刪除右側。而如果我們想去除空格的話,基本上是使用strip就行了,畢竟不管是左還是右,我們都想去除。一個strip就完事了!至于removeprefix是用來從左刪除指定內容,removesuffix反之,從右開始刪除。
查:count() vs find() vs index()
當我們想知道字符串中某個字符一共出現了幾次,可以使用count,如果只想知道某個字符第一次出現的位置(或者專業一點叫索引,索引都是從0開始的!),可以使用find或者index,區別在于如果你不確定某個字符是否存在,最好用find。不存在的情況下find會返回-1,而index直接報錯,影響程序進行。有的人會問:如果我只想知道字符最后一次出現的位置呢?官方已經提供了解決方案,rfind和rindex方法就是從右開始查找。
改:replace() vs format() vs partition() vs split() vs join()
說完了增刪查,最后就是改了。replace就是最直接的修改方法,可以指定修改次數。而高大上的format則是用來按照指定格式進行修改,如數字格式化,帶不帶小數等等,這里不做詳細解釋,因為新手使用format只是用來指定位置傳遞變量,組成新的字符串。partition和split都是用來分隔,區別在于前者返回元組,后者返回列表。同時,partition分隔包含分隔符,split則不包含。看到這里,想必大家對一個方法前面加r已經有點感悟了,沒錯,就是從右開始的意思。同樣的,rpartition和rsplit都是從右開始分隔。或許會有人問?如果我是包含換行的字符串怎么逐行分隔呢?splitlines應運而生,專門處理跨行分隔。
前面說了分隔,那么怎么合并呢?join方法用來按照指定字符串連接一個序列。
join方法適用于常規序列,如列表,元組等,如果是字典的話,則將鍵進行連接。注意,連接的序列里最少需要兩個元素,否則將直接返回序列,而不是連接好的序列。而作為字符串操作方法,join連接的序列里的元素只能為字符串類型。
作為零基礎教程,encode()、expandtabs()、format_map()、maketrans()、translate()需要等對Python有一定理解能力的時候再做學習。
知識是用來傳播的,如果你從中獲益,除了自己收藏外,別忘了分享給更多人哦~
總結
以上是生活随笔為你收集整理的python字符串怎么用_零基础如何使用python处理字符串?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小牛地图矢量抓取工具_SEO优化网站si
- 下一篇: canvas 实现图片局部模糊_小技巧!