形參變量只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只在函數內部有效。函數調用結束返回主調用函數后則不能再使用該形參變量;
實參可以是常量、變量、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使參數獲得確定值。
例:
def func(x,y):#x,y為形參 data = x*y return data c = func(a,b)#a,b為實參 print(c)
默認參數:
def stu_register(name,age,country,course=‘China’):
這樣其中China這個參數就是通過默認參數實現的。
關鍵參數:
正常情況下,給函數傳參數要按順序,不想按順序就可以用關鍵參數,只需指定參數名即可,但記住一個要求就是,關鍵參數必須放在位置參數之后。
非固定參數:
函數在定義時不確定用戶想傳入多少個參數,可以使用非固定參數。
def stu_register(name,age,*args,**kwargs): # *kwargs 會把多傳入的參數變成一個dict形式 print(name,age,args,kwargs) stu_register("yue",20) stu_register("peter",20,"CN","Python",sex="男",province="東北")
全局與局部變量:(一定要搞清楚它們的作用域)
1.在子程序中定義的變量稱為局部變量,在程序的一開始定義的變量稱為全局變量。
2.全局變量作用域是整個程序,局部變量作用域是定義該變量的子程序。
3.當全局變量與局部變量同名時:在定義局部變量的子程序內,局部變量起作用;在其它地方全局變量起作用。