python之函數整理
阿新 • • 發佈:2018-07-18
地址 但是 RoCE 集合 函數 spa 執行 格式 none
函數是什麽?
函數一詞來源於數學,但編程中的「函數」概念,與數學中的函數是有很大不同的。編程中的函數在英文中也有很多不同的叫法。在BASIC中叫做subroutine(子過程或子程序),在Pascal中叫做procedure(過程)和function,在C中只有function,在Java裏面叫做method。
定義: 函數是指將一組語句的集合通過一個名字(函數名)封裝起來,要想執行這個函數,只需調用其函數名即可
特性:
- 減少重復代碼(重復的代碼可以通過一個函數實現)
- 使程序變的可擴展
- 使程序變得易維護(修改部分功能可以通過修改函數來實現)
函數的基本格式:
def test(x,y,z):print(x) print(y) print(z)
如上,這就是在python中的基本定義方法:def 是定義函數的基本格式,test是這裏的函數名,:下面的內容就是具體要實現的功能。
這個時候我們再來討論一下函數括號裏面的東西,我們叫它們為參數。像test(x,y,z)中的x,y,z我們稱之為形式參數,當我們給它們賦值,比如x=1之後,1就是實際參數。
關於一些參數的補充:
def test(x,y,z): print(x) print(y) print(z) test(1,2)#位置參數 test(y=1,x=2)#關鍵字參數 #test(2,y=3,6)這裏是錯誤的,關鍵字參數必須寫在位置參數的後面
默認參數:調用函數時,默認函數非必須傳遞(用於定義函數,為參數提供默認值,調用函數時可傳可不傳該默認參數的值)
函數的返回值:
def fun1(): ‘‘‘函數‘‘‘ print("in the func1") return 0 def fun2(): ‘‘‘過程‘‘‘ print("in the func2")
在fun1中最後一行return 0 ,所以這個函數的返回值是0
而在fun2中,我們沒有寫返回值,但是不代表它沒有返回值,在PYTHON中此時的返回值是None。
當然我們的返回值不只是數字或者字符串,也可返回一些變量的內存地址。
關鍵字參數:
def test(name,age=22,*args,**kwargs): print(name) print(age) print(args) print(kwargs) test(‘周栩強‘,11,22,sex=‘man‘)
在這裏,*args參數傳入數據之後,以元組的形式保存。**kwargs則是以字典的形式保存。
這裏我們要註意的是
#**kwargs:用於接受關鍵字參數,不能接受位置參數
而*args則剛好相反
python之函數整理