python字符串的魔法(Python中字符串方法)

本文目錄一覽:

Python處理字符串必備方法

字符串是Python中基本的數據類型,幾乎在每個Python程序中都會使用到它。

▍1、Slicing

slicing切片,按照一定條件從列表或者元組中取出部分元素(比如特定範圍、索引、分割值)

▍2、****strip()

strip()方法用於移除字符串頭尾指定的字符(默認為空格或換行符)或字符序列。

在使用strip()方法時,默認去除空格或換行符,所以#號並沒有去除。

可以給strip()方法添加指定字符,如下所示。

此外當指定內容不在頭尾處時,並不會被去除。

第一個\n前有個空格,所以只會去取尾部的換行符。

最後strip()方法的參數是剝離其值的所有組合,這個可以看下面這個案例。

最外層的首字符和尾字符參數值將從字符串中剝離。字符從前端移除,直到到達一個不包含在字符集中的字符串字符為止。

在尾部也會發生類似的動作。

▍3、****lstrip()

移除字符串左側指定的字符(默認為空格或換行符)或字符序列。

同樣的,可以移除左側所有包含在字符集中的字符串。

▍4、rstrip()

移除字符串右側指定的字符(默認為空格或換行符)或字符序列。

▍5、****removeprefix()

Python3.9中移除前綴的函數。

和strip()相比,並不會把字符集中的字符串進行逐個匹配。

▍6、removesuffix()

Python3.9中移除後綴的函數。

▍7、****replace()

把字符串中的內容替換成指定的內容。

▍8、****re.sub()

re是正則的表達式,sub是substitute表示替換。

re.sub則是相對複雜點的替換。

和replace()做對比,使用re.sub()進行替換操作,確實更高級點。

▍9、****split()

對字符串做分隔處理,最終的結果是一個列表。

當不指定分隔符時,默認按空格分隔。

此外,還可以指定字符串的分隔次數。

▍10、****rsplit()

從右側開始對字符串進行分隔。

▍11、****join()

string.join(seq)。以string作為分隔符,將seq中所有的元素(的字符串表示)合併為一個新的字符串。

▍12、****upper()

將字符串中的字母,全部轉換為大寫。

▍13、****lower()

將字符串中的字母,全部轉換為小寫。

▍14、capitalize()

將字符串中的首個字母轉換為大寫。

▍15、****islower()

判斷字符串中的所有字母是否都為小寫,是則返回True,否則返回False。

▍16、isupper()

判斷字符串中的所有字母是否都為大寫,是則返回True,否則返回False。

▍17、****isalpha()

如果字符串至少有一個字符並且所有字符都是字母,則返回 True,否則返回 False。

▍18、isnumeric()

如果字符串中只包含數字字符,則返回 True,否則返回 False。

▍19、isalnum()

如果字符串中至少有一個字符並且所有字符都是字母或數字,則返回True,否則返回 False。

▍20、count()

返回指定內容在字符串中出現的次數。

▍21、****find()

檢測指定內容是否包含在字符串中,如果是返回開始的索引值,否則返回-1。

此外,還可以指定開始的範圍。

▍22、rfind()

類似於find()函數,返回字符串最後一次出現的位置,如果沒有匹配項則返回 -1。

▍23、startswith()

檢查字符串是否是以指定內容開頭,是則返回 True,否則返回 False。

**

**

▍24、****endswith()

檢查字符串是否是以指定內容結束,是則返回 True,否則返回 False。

▍25、****partition()

string.partition(str),有點像find()和split()的結合體。

從str出現的第一個位置起,把字符串string分成一個3 元素的元組(string_pre_str,str,string_post_str),如果string中不包含str則 string_pre_str==string。

▍26、center()

返回一個原字符串居中,並使用空格填充至長度width的新字符串。

▍27、ljust()

返回一個原字符串左對齊,並使用空格填充至長度width的新字符串。

▍28、rjust()

返回一個原字符串右對齊,並使用空格填充至長度width的新字符串。

▍29、f-Strings

f-string是格式化字符串的新語法。

與其他格式化方式相比,它們不僅更易讀,更簡潔,不易出錯,而且速度更快!

▍30、swapcase()

翻轉字符串中的字母大小寫。

▍31、zfill()

string.zfill(width)。

返回長度為width的字符串,原字符串string右對齊,前面填充0。

參考文獻:

Python魔法函數(特殊函數)

Python中如何實現運算符的重載,即實現例如a+b這樣的運算符操作呢?

在C++中可以使用 operator 關鍵字實現運算符的重載。但是在Python中沒有類似這樣的關鍵字,所以要實現運算符的重載,就要用到Python的魔法函數。Python魔法函數是以雙下劃線開頭,雙下劃線結尾的一組函數。我們在類定義中最常用到的 __init__ 函數就是這樣一個魔法函數,它在創建類對象時被自動調用。

下面我們來看個簡單的例子。

上述代碼示例了幾個魔法函數的用法。 __add__ 函數對應了二元運算符+,當執行a+b語句時,python就會自動調用a. add (b)。 對於上述例子中的v1+v2+v3,則相當於調用了(v1. add(v2)). add(v3)。

代碼中還有一個在Python類定義經常使用的 __str__ 函數,當使用 str() 時會被調用。print函數對傳入的參數都調用了str()將其轉換成易讀的字符串形式,便於打印輸出,因而會調用類定義的__str__函數打出自定義的字符串。

代碼中還有一個特殊的 __call__ 函數,該函數在將對象採用函數調用方式使用時被調用, 例如v1()相當於v1. call ()。

以上就是魔法函數的基本使用方法。常見的魔法函數我們可以使用 dir() 函數來查看。

輸出結果為:

上述結果中形式為‘__函數名__’的函數為魔法函數,注意有些對象也是這種形式,例如__class__, __module__等, 這些不是魔法函數。具體的魔法函數說明可以參考Python官方說明文檔。

以上代碼在Python3.6運行通過.

python 字符串提取信息方法總結

在日常項目中,我們經常會使用python從字符串中提取我們想要的信息,以下是各種提取信息方法的總結。

格式: str[beg:end:step]

描述: 字符串[開始索引:結束索引:步長]切取字符串為開始索引到結束索引-1內的字符串步長不指定時步長為1

舉例:

print(str[::2]) //::這裡表示整個字符串,每兩個位置提取一個

print(str[1:3]) //提取第2個到第3個

print(str[2::]) //截取2 – 末尾的字符

本小節介紹了,處理字符串經常用到的一些函數方法。

語法: str.find(str, beg=0, end=len(string))

描述: Python find() 方法檢測字符串中是否包含子字符串 str ,如果指定 beg(開始) 和 end(結束) 範圍,則檢查是否包含在指定範圍內,如果包含子字符串返回開始的索引值,否則返回-1。

語法: str.split(str=””, num=string.count(str)).

描述: Python split() 通過指定分隔符對字符串進行切片,如果參數 num 有指定值,則分隔 num+1 個子字符串.返回分割後的字符串列表,該方法可以講字符串轉化為列表處理。

另外的: str.splitlines([keepends])按照行(‘\r’, ‘\r\n’, \n’)分隔,返回一個包含各行作為元素的列表,如果參數 keepends 為 False,不包含換行符,如果為 True,則保留換行符。

語法: str.partition(str)

描述: partition() 方法用來根據指定的分隔符將字符串進行分割。如果字符串包含指定的分隔符,則返回一個3元的元組,第一個為分隔符左邊的子串,第二個為分隔符本身,第三個為分隔符右邊的子串。

語法: str.replace(old, new, max)

描述: Python replace() 方法把字符串中的 old(舊字符串) 替換成 new(新字符串),如果指定第三個參數max,則替換不超過 max 次。

語法: str.strip([chars]);

描述: Python strip() 方法用於移除字符串頭尾指定的字符(默認為空格或換行符)或字符序列。:該方法只能刪除開頭或是結尾的字符,不能刪除中間部分的字符。

語法: str.join(sequence)

描述: Python join() 方法用於將序列中的元素以指定的字符連接生成一個新的字符串。

上述方法還有其變形,如str.rfind(),這代表從字符串右邊開始處理,正常是從左邊開始處理。下表是其它常用的python字符串自帶函數方法。

正則表達式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。本小節主要介紹Python中常用的正則表達式處理函數和正則表達式的書寫規則。

re 模塊使 Python 語言擁有全部的正則表達式功能。所以在python中使用正則表達式處理函數需要import re

語法: re.search(pattern, string, flags=0)

描述: re.search 掃描整個字符串並返回第一個成功的匹配。匹配成功re.search方法返回一個匹配的對象,否則返回None。

語法: re.sub(pattern, repl, string, count=0, flags=0)

描述: Python 的 re 模塊提供了re.sub用於替換字符串中的匹配項。

語法: pattern.findall(string, pos, endpos)

描述: 在字符串中找到正則表達式所匹配的所有子串,並返回一個列表,如果沒有找到匹配的,則返回空列表。注意: match 和 search 是匹配一次 findall 匹配所有。

模式字符串使用特殊的語法來表示一個正則表達式:

python魔法方法是什麼

魔方方法是Python的內置方法,無需主動調用,主要目的就是為了給Python的解釋器進行調用,而且每個魔方方法都有一個對應的內置函數或運算符,接下來我們來看看具體的介紹。

魔法方法就是可以給你的類增加魔力的特殊方法,如果你的對象實現(重載)了這些方法中的某一個, 那麼這個方法就會在特殊的情況下被Python所調用,你可以定義自己想要的行為,而這一切都是自動發 生的,它們經常是兩個下劃線包圍來命名的(比如 __init___ , __len__ ),Python的魔法方法是非常強大的所以了解其使用方法也變得尤為重要!

__init__ 構造器,當一個實例被創建的時候初始化的方法,但是它並不是實例化調用的第一個方法。

__new__ 才是實例化對象調用的第一個方法,它只取下cls參數,並把其他參數傳給 __init___。

___new__ 很少使用,但是也有它適合的場景,尤其是當類繼承自一個像元祖或者字符串這樣不經常改變的類型的時候。

__call__ 讓一個類的實例像函數一樣被調用。

__getitem__ 定義獲取容器中指定元素的行為,相當於self[key]。

__getattr__ 定義當用戶試圖訪問一個不存在屬性的時候的行為。

__setattr__ 定義當一個屬性被設置的時候的行為。

__getattribute___ 定義當一個屬性被訪問的時候的行為。

原創文章,作者:GB44F,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/130892.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
GB44F的頭像GB44F
上一篇 2024-10-03 23:27
下一篇 2024-10-03 23:27

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29

發表回復

登錄後才能評論