您的位置:首頁>正文

考試考完了吧!那就來複習Python啊!最全正則+函數教程合集!

4、參數

必需參數

關鍵字參數

默認參數

不定長參數

什麼是必需參數?必需參數須以正確的順序傳入函數。 調用時的數量必須和聲明時的一樣。

下面的實例中調用say()函數, 你必須傳入一個參數, 不然會出現語法錯誤:

以上代碼, 報錯:

TypeError: say() missing 1 required positional argument: 'msg'

調用函數的時候, 如果傳入的參數數量不對, 會報TypeError的錯誤, 並且Python會明確地告訴你。

如果傳入的參數數量是對的, 但參數類型不能被函數所接受, 也會報TypeError的錯誤,

並且給出錯誤資訊:str是錯誤的參數類型:

有些時候,當我們在傳入函數時,不需要顯式地定義函數,直接傳入匿名函數更方便。匿名函數有個限制,就是只能有一個運算式,無需寫return,返回值就是該運算式的結果。用匿名函數有個好處,因為函數沒有名字,不必擔心函數名衝突。此外,匿名函數也是一個函數物件,也可以把匿名函數賦值給一個變數,再利用變數來調用該函數

如上,可以使用:對參數逐個進行注釋,注釋內容可以是任何形式,比如參數的類型、作用、取值範圍等等,返回值使用->標注,所有的注釋都會保存至函數的屬性。

查看這些注釋可以通過 __annotations__ 獲取,結果會議字典的形式返回:

規則運算式

規則運算式語法規則

語法

說明

運算式實例

匹配字串

字元

.匹配除換行" "外的任意字串abcabc轉義字元,使後一個字元改變原來的意思ac[...]字元集,對應的位置可以是字元集中任意字元,字元集中的字元可以逐個列出,也可以給出範圍,如[abc]或[a-c]。第一個字元如果是^則表示取反,如[^abc]表示不是abc中的其他字元。所有的特殊的字元在字元集中都失去其原有的特殊含義。在字元集中使用^、]或-,可以使用轉義字元匹配它們a[bcd]e

abe

ace

ade

預定義字元集

d數位:[0-9]adca1cD非數字:[^0-9]aDcabcs空白字元:[<空格> ]asca cS非空白字元:[^s]aScabcw單詞字元:[a-zA-z0-9_]awcabcW非單詞字元:[^w]aWca c

貪婪模式和非貪婪模式

貪婪模式是盡可能多的匹配字串,python預設為貪婪模式,非貪婪模式盡可能少的匹配字串,在規則運算式後面加個?表示非貪婪模式。例如:字串abcccb,貪婪模式規則運算式為ab.*c,非貪婪模式的規則運算式為ab.*?c,貪婪模式結果為abccc,非貪婪模式結果為abc,再比如字串abbb,貪婪模式規則運算式為ab?,非貪婪模式正則表達為ab??,貪婪模式結果為ab,非貪婪結果為a。

謝謝閱讀!!!!

有些時候,當我們在傳入函數時,不需要顯式地定義函數,直接傳入匿名函數更方便。匿名函數有個限制,就是只能有一個運算式,無需寫return,返回值就是該運算式的結果。用匿名函數有個好處,因為函數沒有名字,不必擔心函數名衝突。此外,匿名函數也是一個函數物件,也可以把匿名函數賦值給一個變數,再利用變數來調用該函數

如上,可以使用:對參數逐個進行注釋,注釋內容可以是任何形式,比如參數的類型、作用、取值範圍等等,返回值使用->標注,所有的注釋都會保存至函數的屬性。

查看這些注釋可以通過 __annotations__ 獲取,結果會議字典的形式返回:

規則運算式

規則運算式語法規則

語法

說明

運算式實例

匹配字串

字元

.匹配除換行" "外的任意字串abcabc轉義字元,使後一個字元改變原來的意思ac[...]字元集,對應的位置可以是字元集中任意字元,字元集中的字元可以逐個列出,也可以給出範圍,如[abc]或[a-c]。第一個字元如果是^則表示取反,如[^abc]表示不是abc中的其他字元。所有的特殊的字元在字元集中都失去其原有的特殊含義。在字元集中使用^、]或-,可以使用轉義字元匹配它們a[bcd]e

abe

ace

ade

預定義字元集

d數位:[0-9]adca1cD非數字:[^0-9]aDcabcs空白字元:[<空格> ]asca cS非空白字元:[^s]aScabcw單詞字元:[a-zA-z0-9_]awcabcW非單詞字元:[^w]aWca c

貪婪模式和非貪婪模式

貪婪模式是盡可能多的匹配字串,python預設為貪婪模式,非貪婪模式盡可能少的匹配字串,在規則運算式後面加個?表示非貪婪模式。例如:字串abcccb,貪婪模式規則運算式為ab.*c,非貪婪模式的規則運算式為ab.*?c,貪婪模式結果為abccc,非貪婪模式結果為abc,再比如字串abbb,貪婪模式規則運算式為ab?,非貪婪模式正則表達為ab??,貪婪模式結果為ab,非貪婪結果為a。

謝謝閱讀!!!!

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示