1.15 Python基础知识 - 函数
函數是可重用的程序代碼段。
一、函數的聲明和調用
聲明格式:
def 函數名([形參列表]):
函數體
調用格式:
函數名([實參列表])
函數名:是一種標識符,命名規則為全小寫字母,可以使用下劃線增加可閱讀性。
形參列表:表示傳遞給該函數的值或變量引用,(用圓括號括起來,并用逗號隔開,可能為空)
函數體:函數執行的代碼塊
實參列表:實際傳入的參數值
示例代碼:
def my_add(a,b): # 聲明函數,返回值return a+bdef my_print(msg): # 聲明函數,無返回值print(msg)c = my_add(11,22) # 調用函數 my_print(c) #調用函數# 輸出結果33?
二、參數的傳遞
1、形式參數和實際參數
形參:聲明函數時聲明的參數,即形式參數
實參:調用函數時,提供函數需要的參數的值,即實際參數
實際參數默認按位置順序依次傳遞給形式參數。
2、可選參數(參數默認值)
在聲明函數時,如果希望函數的一些參數是可選的,可以在聲明函數時為這些參數指定默認值。調用該函數時,如果沒有傳入對應的實參值,則函數使用聲明時指定的默認參數值。
示例代碼:
def my_add(a,b=12):return a+bdef my_print(msg):print(msg)c = my_add(11) my_print(c)# 輸出結果23注:必須先聲明沒有默認值的形參,然后聲明有默認值的形參,因為函數調用時,默認是按位置傳遞實際參數值的。
3、位置參數和命名參數(關鍵字參數)
位置參數:函數調用時,默認按位置順序傳遞形參的參數
關鍵字參數:按名稱指定傳入的參數,優點:一、參數按名稱意義明確;二、傳遞的參數與順序無關;三、如果有多個可選參數,可以選擇某個參數值
示例代碼:
def my_add(a,b=12,c=23):return a+b+cdef my_print(msg):print(msg)c = my_add(11,c=11) # 11為位置參數,c=11為關鍵字參數 my_print(c)# 輸出結果34
4、可變參數(不固定參數,或參數組)
在聲明函數時,通過帶星的參數,如*args,允許向函數傳遞可變(任意)數量的實參,在調用時,這些參數會被收集為一個元組。
在聲明函數時,也可以通過帶雙星的參數,如**kwargs,允許向函數傳遞可變數量的實參,在調用時,這些參數會被收集為一個字典。
示例代碼1:
def my_add(*args):return argsdef my_print(msg):print(msg)c = my_add(11,12,13,14) my_print(c)# 輸出結果 (11, 12, 13, 14)
示例代碼2:
def my_add(**kwargs):return argsdef my_print(msg):print(msg)c = my_add(a=11,b=12,c=13,d=14) my_print(c)# 輸出結果 {'a': 11, 'b': 12, 'c': 13, 'd': 14}?
示例代碼3:
def my_add(*args,**kwargs):return args,kwargsdef my_print(msg):print(msg)c = my_add(2,3,4,a=11,b=12,c=13,d=14) my_print(c)# 輸出結果 ((2, 3, 4), {'a': 11, 'b': 12, 'c': 13, 'd': 14})?
?
三、函數的返回值
函數可以返回值,即在函數體中使用return語句從函數返回一個值,并跳出函數。如果需要返回多個值,則可以返回一個元組。
示例:
def f1():return 1,2,3a=f1() print(a)# 輸出結果 (1, 2, 3)?
四、變量的作用域
變量聲明的位置不同,其可被訪問的范圍也不同。變量的可被訪問范圍稱為變量的作用域。變量按其作用域大致可以分為:全局變量、局部變量和類型成員變量
全局變量:在函數和類定義以外聲明的變量
局部變量:在函數體中聲明的變量(包括函數參數)
類成員變量:在類中聲明的變量,包括靜態變量和實例變量。
轉載于:https://www.cnblogs.com/topspeedking/p/6431936.html
總結
以上是生活随笔為你收集整理的1.15 Python基础知识 - 函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何设置并使用 Synology NAS
- 下一篇: BZOJ2125 最短路