python 函式與函式引數

2021-09-02 14:02:09 字數 1115 閱讀 8104

函式是一種基本的**抽象方式,其主要的優點是增強**的重用性和可讀性。函式的定義包含五大要點,分別是def、函式名、函式體、引數、返回值,以及兩個英文符號,分別是括號(括號內為引數)和冒號(:)。

函式的引數型別有:必選引數(位置引數)、預設引數、可變引數、關鍵字引數和命名關鍵字引數。函式中,引數定義的順序必須為必選引數(位置引數)、預設引數、可變引數、命名關鍵字引數和關鍵字引數。

總的來說,函式的引數可分為三大類,位置引數、預設值引數、可變長引數。

位置引數,呼叫時應按照定義時的對應的位置傳參,或者也可以用鍵值對進行傳參。預設引數,在函式定義的過程中,以引數名等於預設值的形式給出,用來提高程式的健壯性。可變長度的引數可分為兩類,一類是非關鍵字可變長引數(元組),一類是關鍵字可變長引數(字典)。

引數傳入時需要注意以下幾點:

1、預設引數一定要用不可變物件,如果是可變物件,程式執行時會有邏輯錯誤;

2、*args是可變引數,args接收的是乙個tuple;

3、**kw是關鍵字引數,kw接收的是乙個dict;

4、可變引數既可以直接傳入:func(1,2,3),又可以先組裝list或tuple,再通過*args傳入:funct(*(1,2,3));

5、關鍵字引數既可以直接傳入:func(a=1, b=2),又可以先組裝成dict,再通過**kw傳入:func(**);

6、使用*args和**kw是python的習慣寫法,當然也可以使用其他引數名

7、命名的關鍵字引數是為了限制呼叫者可以傳入的引數名,同時可以提供預設值;

8、定義命名的關鍵字引數在沒有可變引數的情況下不要忘記寫分隔符*,否則定義的將是位置引數

def person(name, age, *, city, job ):

print(name, age, city, job)

def person(name, age, *args, city, job):

print(name, age, args, city, job)

和關鍵字引數*kw不同,命名關鍵字引數需要乙個特殊的分隔符*,*後面的引數被視為命名關鍵字引數。

若可變引數後面跟著命名關鍵字引數,後面跟著命名關鍵字引數就不需要乙個特殊分隔符*了。

python引數函式 Python函式引數總結

coding utf 8 整理一下python函式的各種引數型別 位置引數 呼叫函式時,傳入的兩個值按照位置順序依次賦給引數 def power x,n s 1 while n 0 n n 1 s s x return s print power 5,2 預設引數 簡化函式的呼叫 def power...

Python筆記 函式定義與函式引數

def 函式名 引數 函式介面 pass return 表示式def 函式關鍵字 函式名 自行定義 引數 需要輸入的變數 函式介面 對函式作用解釋,以及每個引數的意義 pass 函式體,函式需要執行的功能的據體 return 函式所返還的結果,多個值用逗號隔開 函式名 以函式名加括號的方式呼叫,括號...

Python函式定義與引數

函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的 段,能提高應用的模組性,和 的重複利用率。函式定義 def 函式名 函式呼叫 函式名 定義函式的簡單規則 任何傳入引數和自變數必須放在圓括號中間,圓括號之間可以用於定義引數。函式內容以冒號起始,並且縮排。return 表示式 結束函式,選擇...