定義: 函式是指將一組語句的集合通過乙個名字(函式名)封裝起來,要想執行這個函式,只需呼叫其函式名即可
為什麼使用函式:減少重複**、使程式變的可擴充套件使程式變得易維護
11.形參與實參#定義乙個函式
2def func(): #
使用def關鍵字定義函式 ,接函式名,括號內可以傳遞引數
3print("
hello world
") #
函式體4
return
#返回值:函式在執行過程中只要遇到return語句,就會停止執行並返回結果,如果未在函式中指定return,那這個函式的返回值為none 56
#呼叫函式
7 func()
形參變數:只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數
1實參可以是常量、變數、表示式、函式等,無論實參是何種型別的量,在進行函式呼叫時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使引數獲得確定值deffunc(a,b):
2 res = a +b
3print(res)
1 m =func(x,y)2.預設引數
呼叫函式時,預設引數可有可無,非必須傳遞,其他可以賦值
用途:預設安裝值,預設行為等
13.關鍵引數與位置引數def func(a,b = 2):
2 res = a *b
3print
(res)
45 func(10)6#
輸出 20
7 func(10,5)8#
輸出 50
a.位置引數使用是一一對應的
b.正常情況下,給函式傳引數要按順序,不想按順序就可以用關鍵引數,只需指定引數名即可。關鍵字引數必須在位置引數之後
1deffunc(a,b,c):
2 res = a * b *c
3print
(res)
45 func(a = 3,c= 5,b = 6)6#
輸出90
14.非固定引數(引數組)deffunc(a,b,c):
2 res = a * b *c
3print
(res)
45 func(3,c= 5,b = 6)6#
輸出90
78 func(c= 5,b = 6,3) #
錯誤寫法,報錯
9 #syntaxerror: positional argument follows keyword argument
def(*args) 接收n個位置引數,轉換為元組
1def(**kwargs) 把n個關鍵字引數轉化為字典def func(country,province,*args):
2print
(country,province,args)
34 func("
china
","sichuan
","chengdu
","jingjiang")
56#輸出:
7 >>>china sichuan ('
chengdu
', '
jingjiang
')
15.區域性變數與全域性變數def func(country,province,**kwargs):
2print
(country,province,kwargs)
34 func("
china
","sichuan
",city = "
chengdu
", section = "
jingjiang")
5#輸出6 >>>china sichuan
在子程式中定義的變數稱為
區域性變數,在程式的一開始定義的變數稱為
全域性變數。
全域性變數作用域是整個程式。
區域性變數作用域是定義該變數的子程式。
當全域性變數與區域性變數同名時:在定義區域性變數的子程式內,區域性變數起作用;在其它地方全域性變數起作用。
1 city = "可以使用 :global 關鍵字再子程式內定義全域性變數beijing"2
3def
func():
4 city = "
chengdu"5
(city)67
func()
8print
(city)9#
輸出:10
#chengdu11#
beijing
1 city = "beijing"2
3def
func():
4global
city
5 city = "
chengdu"6
(city)78
func()
9print
(city)10#
輸出:11
#chengdu12#
chengdu
Python基礎 函式
函式設計原則 函式有多種方法獲得輸入產生輸出,一般使用引數作為輸入,return語句配合可變引數的改變作為輸出。函式輸入 函式輸出 def fun args returndef語句 def建立了乙個函式物件並將其賦值給乙個變數。def語句是實時執行的,在模組匯入時執行或者在互動模式下輸入時執行。始終...
python基礎 函式
def funcname params return value 如果沒有return 最後會返回none,如果只寫return 會返回none 返回值個數為乙個,但是可以返回tuple,表面上返回多個值 def f1 return x,y x,y f1 def nop passdef functe...
python基礎 函式
在程式設計過程中可以定義自己想要實現的功能的函式,語法如下 def 函式名 引數列表 函式名可以隨意編寫,但最好不要與內建函式重複,不然內建函式將被替換成你所定義的函式 函式體例 def f a,b,c,d return a,b,c,d c f 1,2,3,4 print c c,d,x,y f 1...