python3 函式引數

2021-08-20 22:23:28 字數 2466 閱讀 6834

python函式引數包括五種型別:位置引數、預設引數、可變引數、關鍵字引數以及命名關鍵字引數。

位置引數例如 def ex(y): y就是位置引數 例子:

def ex(y):

print(y)

ex(2)

預設引數

可以簡化函式的呼叫,設定預設引數時,要注意:

一 必選引數在前,預設引數在後

二當函式有多個引數時,把變化大的引數放在前面,變化小的引數放後面

舉個例子:

def information(name,gender,age=18,city='beijing'):

print(name,gender,age,city)

information('xiaoming','9',city='hebei')

結果如下:

information()中age和city是預設引數,當全部輸入時,預設引數可以不用寫引數名輸入,如果不是按照預設順序引數輸入,就要輸入相應的引數名,當不對預設引數做處理時,輸出就會輸出預設引數,如果輸入給定值,就會輸出給定值。

定義預設引數時,預設引數必須指向不變物件

可變引數:可變引數就是指傳入的引數個數是可變的,即可以是1個,2個到任意個,也可以是0個。

可變引數主要運用於在不知道引數個數的情況下使用。

例如計算一組數字的平方和a^2+b^2+c^2+.....

函式可以這樣定義:

def sq(*number):

sum=0

for x in number:

sum=sum+x*x

return sum

a=sq(1,2,3)

print(a)

可變引數是用*args定義的,如sq(*number)

可變引數傳值還有乙個方法,即

b=[1,2,3]

sq(*b)

*b表示把b這個列表裡面的所有引數作為可變引數傳進去。

可變引數允許傳入0個或者任意個引數,這些可變引數在函式呼叫時自動組裝為乙個元組。

關鍵字引數:關鍵字引數允許傳入0個或者任意個包含引數名的引數,這些關鍵字在函式內部自動組裝成為乙個字典。示例如下

def student(name,grade,**kw):

print(name,grade,kw)

這表示student這個函式引數接收關鍵字引數kw,關鍵字引數表示時使用**kw來表示

def student(name,grade,**kw):

print(name,grade,kw)

>>> student('xiaoming','5',age="9",address="北京")

xiaoming 5

age="9",address="北京"就是關鍵字引數,它是用字典顯示出來的,使用關鍵字引數可以使函式有良好的擴充套件功能,

命名關鍵字引數:命名關鍵字可以限制關鍵字引數的名字,這樣可以保證一定的安全性。

命名關鍵字引數有兩種方法:一是在引數前面加乙個*,用逗號隔開:如下

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

print(name,age,city,job)

*後面的city和job即是命名關鍵字引數,呼叫方式如下:

per("xiaohong",12,city="北京",job="學生")

xiaohong 12 北京 學生

第二種方法是如果函式引數中已經有了可變引數,那麼可變引數後面的引數即為命名關鍵字引數:

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

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

即*args後面的city,job為關鍵字引數

要注意的是:命名關鍵字一定傳入引數名,否則會出錯,命名關鍵字也可以有預設值。

引數組合:在python中可以用必選引數、預設引數、可變引數、關鍵字引數和命名關鍵字引數組合使用,引數定義順序為:必選引數、預設引數、可變引數、命名關鍵字引數和關鍵字引數。示例如下:

def ex(a,b,c=1,*args,**kw):

print(a,b,c,args,kw)

a和b為必選引數,c為預設引數,args為可變引數,**kw為關鍵字引數

還有一種為

def ex(a,b,c=1,*args,d,**kw):

print(a,b,c,args,kw)

a和b為必選引數,c為預設引數,args為可變引數,d為命名關鍵字引數,**kw為關鍵字引數。

python3函式的引數

函式的定義能簡化 的邏輯,對於函式的呼叫者來說,只需要知道如何正確的傳遞引數,以及知道函式將返回什麼值就可以了,而函式內部的複雜邏輯被封裝起來,呼叫者不必了解。呼叫函式時,傳入實參的值按照位置順序以此賦給形參。def power x,n s 1 while n n n 1s s x return s...

python3 函式的引數

函式的引數 預設引數 可變引數 關鍵字引數 命名關鍵字引數 版本 v1.0 日期 2019.03.26 python版本 3.7 引數預設值 def f1 a,b 5,c 10 return a b 2 c 3 print f1 1,2,3 print f1 100,200 print f1 100...

Python3 函式引數的傳入

在運維過程中,有些時候需要向main函式中傳遞引數,以方便運維與測試,那麼怎麼向main函式中傳入多個引數呢,下面以python3中的main函式為例,簡單講一下。首先我們需要import sys,sys是python3的乙個標準庫,也就是乙個官方的模組。封裝了一些系統的資訊和介面,然後再說說ar ...