1. 程式人生 > >Python之路-Day06函式

Python之路-Day06函式

P## 函式的定義
程式設計裡面的函式定義是:def作為關鍵字

def test(x) :
    "The function definitions"
    x+=1
    return x
    
def:定義函式的關金子
test:函式名
():內可定義的形參
"文件描述(非必要,但是強烈建議為你的函式新增描述資訊)"
x+=1:泛指程式碼塊或程式處理邏輯
return:定義返回值
方法的引數如果有一定要傳引數.  

程式碼示例:

def test(x):
    x += 1
    return x


y = test(3)
print(y)
如果一個方法的返回值型別太多,我們在使用變數接收這個返回值的時候,這個變數會變成一個元組.
總結:如果返回值等於0,返回None
返回值數=1,返回object(物件)
返回值數>1,返回tuple(元組)

函式引數

1.形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元.因此,形參只在函式內部有效.函式呼叫結束返回主呼叫函式後不能再使用該形參變數
2.實參可以是常量\變數\表示式\函式等,無論實參是何種型別的量,在進行函式呼叫時,它們都必須有確定的值,以便把這些值傳給形參.因此,應預先用賦值,輸入等辦法使引數獲得確定值.

def test(x,y):#形參
    z = x ** y
    return z

a = 10
b = 10
c = test(a,b)#實參
print(c)

位置引數必須一一對應

def test(x, y, z):
    print(x)
    print(y)
    print(z)


test(1, 2, 3)

關鍵字引數,無須一一對應

def test(x, y, z):
    print(x)
    print(y)
    print(z)


test(y=3,z=1,x=5)

如果混合使用,位置引數一定要在關鍵字引數左邊,但是還是必須一一對應,不然會報錯

test(1,2,z=5)

預設引數,在定義函式時就被賦予了值就是預設引數,但是也可以在呼叫方法的時候傳一個值去覆蓋它

def test(x,y=None):
    print(x)
    print(y)

test(1)
test(2,3)

引數組,**字典, *列表

1賦值給了x,後面數自動新增到列表裡面

def test(x,*args):
    print(x)
    print(args)
test(1,2,3,4,5,6,7)

字典的方式

def test(x,**args):
     print(x)
     print(args)
test(1,y=3,z=4)

如果想列表和字典一起用,列表的引數必須在字典引數前面

def test(x,*args,**kwargs):
     print(x)
     print(args)
test(1,1,1,y=3,z=4)

總結(使用函式的好處)

1.程式碼重用
2.保持一致性,易維護
3.可擴充套件性