1. 程式人生 > >Python函式定義與引數

Python函式定義與引數

函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的程式碼段,能提高應用的模組性,和程式碼的重複利用率。

1)函式的一般形式

函式定義:def 函式名() 函式呼叫:函式名() 定義函式的簡單規則:
  • 函式程式碼塊以 def 關鍵詞開頭,後接函式識別符號名稱和圓括號(),函式名不能使用關鍵字。
  • 任何傳入引數和自變數必須放在圓括號中間,圓括號之間可以用於定義引數。
  • 函式內容以冒號起始,並且縮排。
  • return [表示式] 結束函式,選擇性地返回一個值給呼叫方。不帶表示式的return相當於返回 None。
# 定義函式 defsum(x,y): print('x={0}'.format(x))
print('y={0}'.format(y)) returnx+y m = sum(10,3)#呼叫函式,引數值和引數名稱是按函式宣告中定義的的順序匹配起來的 #m = sum(x=10,y=3) #結果同上 print(m)

2)函式的引數

函式的引數按照定義和傳遞的情況時分為形式引數和實際引數。 在定義函式時,函式名後面括號中的變數名稱叫做形式引數,或者稱為形參。 在呼叫函式時,函式名後面括號中的變數名稱叫做實際引數,或者稱為實參。 *args和 **kwargs:*args對應的是元組,可接收多個引數;**kwargs對應的是字典,可接收多個為key=value形式的引數。
# 1.給b變數設定一個預設的值
# 如果實參傳入的時候,指定了b的值,那b優先選擇傳入的實參,當b沒有傳入值時才會使用預設值b=0,預設引數設定必須放在引數的最後 def funA(a,b=0): print a print b funA(10)
執行結果如下:
10
0
# 2.引數為tuple
def funB(a,b,*c):  #加了星號(*)的變數名會存放所有未命名的變數引數,並以元組的形式處理
print a
    print b
    print 'length of c is : %d' % len(c)
    print c
funB(1,2,3,4,5,6)
執行結果如下:
1
2
length of c is : 4
(3, 4, 5, 6)
# 3.引數為dict
def funC(a,**b):
    print a
    print b
funC(100,x='hello',b='world')
執行結果如下:
100
{'x': 'hello', 'b': 'world'}