1. 程式人生 > >python之函數整理

python之函數整理

地址 但是 RoCE 集合 函數 spa 執行 格式 none

函數是什麽?

函數一詞來源於數學,但編程中的「函數」概念,與數學中的函數是有很大不同的。編程中的函數在英文中也有很多不同的叫法。在BASIC中叫做subroutine(子過程或子程序),在Pascal中叫做procedure(過程)和function,在C中只有function,在Java裏面叫做method。

定義: 函數是指將一組語句的集合通過一個名字(函數名)封裝起來,要想執行這個函數,只需調用其函數名即可

特性:

  1. 減少重復代碼(重復的代碼可以通過一個函數實現)
  2. 使程序變的可擴展
  3. 使程序變得易維護(修改部分功能可以通過修改函數來實現)

函數的基本格式

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之函數整理