掌握自訂函數的基本語法規格和呼叫方法及掌握函數的各種參數的使用及呼叫規則。
你可以定義一個由自己想要功能的函數,以下是簡單的規則:
定義函數的語法:
def 函数标识名称(参数列表): “函数_文档字符串,对函数进行说明" 函数体 return [表达式]
預設情況下,參數值和參數名稱是按函數宣告中定義的順序匹配起來的。
定義一個函數只給了函數-一個名稱,指定了函數裡包含的參數,和程式碼區塊結構。
這個函數的基本結構完成以後,你可以透過另-個函數呼叫執行,也可以直接從Python提示字元執行。
#呼叫後輸出的結果為:
在python中,型別屬於物件,變數是沒有型別的:
a=[1,2,3] a="Runoob"
以上程式碼中,[1,2,3] 是List型別,"Runoob」 是String型別,而變數a是沒有類型,它只是一個對象的引用(-一個指針) , 可以是List類型對象,也可以指向String類型對象。
python中-切都是物件,嚴格意義我們不能說值傳遞還是引用傳遞,我們應該說傳不可變物件和傳輸可變物件。
以下是呼叫函數時可使用的正式參數類型:
必備參數須以正確的順序傳入函數。呼叫時的數量必須和聲明時的一樣。
範例:
ch06-demo01-args-necessary.py
呼叫greeting()函數,你必須傳入一個參數,不然會出現語法錯誤:
關鍵字參數和函數呼叫關係緊密,函數呼叫使用關鍵字參數來決定傳入的參數值。
使用關鍵字參 數允許函數呼叫時參數的順序與宣告時不一致,因為Python解釋器能夠用參數名稱匹配參數值。
範例:
ch06-demo02-keyword.py
以下實例在函數printinfo()呼叫時使用參數名稱:
调用函数时,缺省参数的值如果没有传入,则被认为是默认值。
示例:
ch06-demo03-args-default.py
打印默认的age,如果age没有被传入:
注意:缺省值必须放在最后一个参数。
可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数。
适用于当参数个数不确定或根据调用情况其参数个数会动态变化的情况。
def函数名称(formal args, *args ): “函数_文档字符串" 函数体 retum [表达式]
加了星号(* )的变量名会存放所有未命名的变量参数。选择不多传参数也可,可变长参数的类型为元组。
**两个型号代表接受的是一个可变长度的 字典类型的参数。
因此,改参数必须以k-v值结构出现。
def函数名称(formal _args, **kw ): “函数_文档字符串” 函数体 retum [表达式
加了星号(** )的变量名会存放所有未命名的变量参数。选择不多传参数也可,可变长参数的类型为字典。
两个参数必须为函数定义中参数列表中的排名最后的参数。
*argv代表该参数位置可以放任意个数的数据,最终都会转换成元组数据类型在函数体内处理。
**kw代表该参数位置可以放k=v格式的数据,最终都会转换成字典类型数据安函数体内处理。
以上是Python 函數程式設計的基礎知識介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!