Python 函式基礎

2021-08-20 16:06:16 字數 2823 閱讀 8419

定義: 函式是指將一組語句的集合通過乙個名字(函式名)封裝起來,要想執行這個函式,只需呼叫其函式名即可

為什麼使用函式:減少重複**、使程式變的可擴充套件使程式變得易維護

1

#定義乙個函式

2def func(): #

使用def關鍵字定義函式 ,接函式名,括號內可以傳遞引數

3print("

hello world

") #

函式體4

return

#返回值:函式在執行過程中只要遇到return語句,就會停止執行並返回結果,如果未在函式中指定return,那這個函式的返回值為none 56

#呼叫函式

7 func()

1.形參與實參

形參變數:只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數

1

deffunc(a,b):

2 res = a +b

3print(res)

實參可以是常量、變數、表示式、函式等,無論實參是何種型別的量,在進行函式呼叫時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使引數獲得確定值

1 m =func(x,y)

2.預設引數

呼叫函式時,預設引數可有可無,非必須傳遞,其他可以賦值

用途:預設安裝值,預設行為等

1

def func(a,b = 2):

2 res = a *b

3print

(res)

45 func(10)6#

輸出 20

7 func(10,5)8#

輸出 50

3.關鍵引數與位置引數

a.位置引數使用是一一對應的

b.正常情況下,給函式傳引數要按順序,不想按順序就可以用關鍵引數,只需指定引數名即可。關鍵字引數必須在位置引數之後

1

deffunc(a,b,c):

2 res = a * b *c

3print

(res)

45 func(a = 3,c= 5,b = 6)6#

輸出90

1

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

4.非固定引數(引數組)

def(*args) 接收n個位置引數,轉換為元組

1

def func(country,province,*args):

2print

(country,province,args)

34 func("

china

","sichuan

","chengdu

","jingjiang")

56#輸出:

7 >>>china sichuan ('

chengdu

', '

jingjiang

')

def(**kwargs) 把n個關鍵字引數轉化為字典

1

def func(country,province,**kwargs):

2print

(country,province,kwargs)

34 func("

china

","sichuan

",city = "

chengdu

", section = "

jingjiang")

5#輸出6 >>>china sichuan

5.區域性變數與全域性變數

在子程式中定義的變數稱為

區域性變數,在程式的一開始定義的變數稱為

全域性變數。

全域性變數作用域是整個程式。

區域性變數作用域是定義該變數的子程式。

當全域性變數與區域性變數同名時:在定義區域性變數的子程式內,區域性變數起作用;在其它地方全域性變數起作用。

1 city = "

beijing"2

3def

func():

4 city = "

chengdu"5

print

(city)67

func()

8print

(city)9#

輸出:10

#chengdu11#

beijing

可以使用 :global 關鍵字再子程式內定義全域性變數

1 city = "

beijing"2

3def

func():

4global

city

5 city = "

chengdu"6

print

(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...