Python中函式的引數

2021-10-06 09:34:17 字數 1803 閱讀 9109

位置引數,是函式中最常用的引數。必選引數就是在呼叫函式的時候必須指定引數值。例如: 

# 定義加法函式plus,引數a,b就是必選引數

def plus(a,b):

c=a+b

return(c)

# 呼叫函式plus時,必須給引數a,b傳遞值

d=plus(1,2)

# 輸出結果d

print(d)

預設引數是指給函式引數提供預設值,如果在呼叫函式的時候沒有給該引數傳遞值,則該引數使用預設值。例如: 

# 定義加法函式plus,引數a是必選引數,引數b是預設值2的引數

def plus(a,b=2):

c=a+b

return(c)

# 呼叫函式plus時,必須給引數a傳遞值,若不給b傳遞值,則b預設為2

d=plus(1)

# 輸出結果d

print(d)

從上面的例子可以看出,在函式呼叫過程中可以不用給預設引數傳遞引數值。但在使用預設引數時,有兩點需要注意:

在有些情況下,我們在定義函式的時候,還不能確定函式應該包含多少個引數,這時我們可以使用可變引數,可變引數就是傳入的引數數量是可變的。例如:

# 定義plus函式,完成的功能是返回輸入的整數之和。

# 引數numbers是可變引數,表示輸入的引數個數可以為任意值

def plus(*numbers):

add = 0

for i in numbers:

add += i

return(add)

# 呼叫3次plus函式,每次的引數個數都不相同

d1 = plus(1,2,3)

d2 = plus(1,2,3,4)

d3 = plus(1,3,5,7,9)

# 向函式中可以傳遞任意引數,包括0個引數

d4 = plus()

# 輸出結果

print(d1)

print(d2)

print(d3)

print(d4)

6

1025

0

在上面的例子中,numbers就是乙個可變引數,可變引數前面加乙個識別符號*。在函式內部,可變引數numbers接收到的值是乙個tuple。我們在呼叫引數是可變引數的函式時,可以給該函式傳遞任意個數的引數,包括0個引數。

可變引數允許我們在呼叫函式時傳入任意個引數,這些可變引數在函式呼叫時自動組裝為乙個tuple。而關鍵字引數允許我們傳入任意個含引數名的引數,這些關鍵字引數在函式呼叫時自動組裝為乙個dict。也就是說,關鍵字引數將長度任意的鍵-值對,作為引數傳遞給函式。例如: 

# 定義乙個包含關鍵字引數的函式,返回值為引數值

def plus(**kw):

return kw

# 呼叫plus函式,引數值為空

d1 = plus()

# 呼叫plus函式,引數值為x=1

d2 = plus(x=1)

# 呼叫plus函式,引數值為x=1,y=2

d3 = plus(x=1, y=2)

# 輸出d1,d2,d3

print(d1)

print(d2)

print(d3)

{}

Python函式引數中的 ,

問題 python的函式定義中有兩種特殊的情況,即出現 的形式。如 def execute command self,args,options 等。解釋 用來傳遞任意個無名字引數,這些引數會乙個tuple的形式訪問。用來處理傳遞任意個有名字的引數,這些引數用dict來訪問。應用 的應用 def fu...

Python中的函式引數

python中的引數由於沒有特定的指示方式,所以傳遞引數時也可將其他函式作為引數傳入。傳遞格式 def fun name x,y,z 其中x,y,z都可作為其他函式的名稱 示例 def fun x,y,f return f x f y print fun 10,34,abs 結果 2.1 map函式...

python中函式的引數

python 中函式的引數分為四種 位置引數 預設引數 可變引數 關鍵字引數 命名關鍵字引數 顧名思義,與變數位置有關的引數,例 def power x return x x即在函式定義時給出引數的值,例 def power x,y 1 return x y注 預設引數必須指向不變物件 即傳入的是乙...