函數: 為什麼要用函數? 1、減少代碼量 2、保持一致性 3、易維護 一、函數的定義和使用 函數的定義: def:表示函數的關鍵字 函數名:以後可以根據函數名調用函數 函數體:中間可以做一系列的運算 參數:為函數提供形參(形參不占用記憶體空間,調用時才會占用記憶體,在調用結束後,才會被釋放;實參是給實參 ...
函數:
為什麼要用函數?
1、減少代碼量
2、保持一致性
3、易維護
一、函數的定義和使用
1 def Foo(參數):
2 # 函數用途,註釋說明 3 pass
函數的定義:
def:表示函數的關鍵字
函數名:以後可以根據函數名調用函數
函數體:中間可以做一系列的運算
參數:為函數提供形參(形參不占用記憶體空間,調用時才會占用記憶體,在調用結束後,才會被釋放;實參是給實參進行賦值)
註:1、位置參數一定要放在預設參數的左邊;2、一個形參只能給它傳一次;3、形參個數,一個不能多,一個也不能少
返回值(return):當函數執行完畢後,可以給調用者返回數據。為多個返回元祖形式,單個為原形式
參數組(*args列表,**kwargs字典)非固定長度參數;
形參:
普通參數必須一一對應,必須傳
預設參數可傳可不傳,實參的級別大於形參的級別
一個形參只能給它傳一次,不能被賦予多個值
*args除了關鍵字參數、**kwargs字典,其他都可以傳,它是一個元祖,不傳也可以
**kwargs只能接受關鍵字參數,如果接受字典的話,需在字典前面要加**,不傳也可以
優先順序:位置參數-->普通參數-->預設參數-->*args-->**kwargs
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 5 def Foo(*args): 6 return args 7 8 9 f1 = Foo(1, 2, 3, 4, 5, 6) 10 print(f1) # (1, 2, 3, 4, 5, 6)*args
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 5 def Foo(**kwargs): 6 return kwargs 7 8 9 f1 = Foo(**{"name": "alex"}) 10 print(f1) # {'name': 'alex'}**kwargs