Python 函數的參數形式


形參:在定義函數時,括號內的參數成為形參
特點:形參就是變量名
def foo(x,y): #x=1,y=2
print(x)
print(y)

實參:在調用函數時,括號內的參數成為實參
特點:實參就是變量值
foo(1,2)

在調用階段實參(變量值)才會綁定形參(變量名)
調用結束后,解除綁定

一、、函數形參分為:

    1、位置形參

 2、關鍵字形參

二、函數實參分為:

    1、位置實參

 2、關鍵字實參

def foo(x,y): #x、y為位置形參
    print(x)
    print(y)
foo(1,2)#位置實參

def foo(name,age): #x、y為關鍵字形參
    print(name)
    print(age)
foo(name=1,age=2)#位置形參

三、注意事項

1、位置實參必須在關鍵字實參的前面

2、一定不要給同一個形參賦多次值

四、默認參數

不用給函數傳遞參數,函數的參數默認帶有值

def foo(x=1,y=2): #x、y為位置形參
    print(x)
    print(y)
foo()

注意事項:

默認參數必須放在位置參數之前

默認參數只能在函數定義階段賦值一次,且僅有一次

默認參數應該定義為不可變數據類型

五、可變長參數類開

可變長參數指的是實參的個數多了
實參無非位置實參和關鍵字實參兩種

#形參必須要兩種機制來分別處理按照位置定義的實參溢出的情況:*
#跟按照關鍵字定義的實參溢出的情況:**

1、形參*接收多出來的位置參數轉化為無組

2、多出來的關鍵字參數被**接收轉化為字典

def foo(x,y,*args): #nums=(3,4,5,6,7)
    print(x)
    print(y)
    print(args)

foo(1,2,3,4,5,6,7) 

def foo(x,y,**kwargs): #nums={'z':3,'b':2,'a':1}
    print(x)
    print(y)
    print(kwargs)
foo(1,2,z=3,a=1,b=2) #**

六 命名關鍵參數

即在*后面定義的形參稱為命名關鍵字參數,必須是被以關鍵字實參的形式傳值

def foo(name,age,*args,sex='male',group):
    print(name)
    print(age)
    print(args)
    print(sex)
    print(group)

foo('alex',18,19,20,300,group='group1')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM