Python基礎 函式

2022-08-02 01:42:12 字數 3585 閱讀 4967

函式最重要的目的是方便我們重複使用相同的一段程式。

將一些操作隸屬於乙個函式,以後你想實現相同的操作的時候,只用呼叫函式名就可以,而不需要重複敲所有的語句。

首先,我們要定義乙個函式, 以說明這個函式的功能。

def square_sum(a,b):

c = a**2 + b**2

return c

這個函式的功能是求兩個數的平方和。

首先,def,這個關鍵字通知python:我在定義乙個函式。square_sum是函式名。

括號中的a, b是函式的引數,是對函式的輸入。引數可以有多個,也可以完全沒有(但括號要保留)。

我們已經在迴圈和選擇中見過冒號和縮進來表示的隸屬關係。

c = a**2 + b**2        # 這一句是函式內部進行的運算

return c               # 返回c的值,也就是輸出的功能。python的函式允許不返回值,也就是不用return。

return可以返回多個值,以逗號分隔。相當於返回乙個tuple(定值表)。

return a,b,c          # 相當於 return (a,b,c)

在python中,當程式執行到return的時候,程式將停止執行函式內餘下的語句。return並不是必須的,當沒有return, 或者return後面沒有返回值時,函式將自動返回none。none是python中的乙個特別的資料型別,用來表示什麼都沒有,相當於c中的null。none多用於關鍵字引數傳遞的預設值。

定義過函式後,就可以在後面程式中使用這一函式

print square_sum(3,4)
python通過位置,知道3對應的是函式定義中的第乙個引數a, 4對應第二個引數b,然後把引數傳遞給函式square_sum。

(python有豐富的引數傳遞方式,還有關鍵字傳遞、表傳遞、字典傳遞等,基礎教程將只涉及位置傳遞)

函式經過運算,返回值25, 這個25被print列印出來。

我們再看下面兩個例子

a = 1

def change_integer(a):

a = a + 1

return a

print change_integer(a)

print a

#===(python中 "#" 後面跟的內容是注釋,不執行 )

b = [1,2,3]

def change_list(b):

b[0] = b[0] + 1

return b

print change_list(b)

print b

第乙個例子,我們將乙個整數變數傳遞給函式,函式對它進行操作,但原整數變數a不發生變化。

第二個例子,我們將乙個表傳遞給函式,函式進行操作,原來的表b發生變化。

對於基本資料型別的變數,變數傳遞給函式後,函式會在記憶體中複製乙個新的變數,從而不影響原來的變數。(我們稱此為值傳遞)

但是對於表來說,表傳遞給函式的是乙個指標,指標指向序列在記憶體中的位置,在函式中對錶的操作將在原有記憶體中進行,從而影響原有變數。 (我們稱此為指標傳遞)

def function_name(a,b,c):

statement

return something  # return不是必須的

函式的目的: 提高程式的重複可用性。

return     none

通過位置,傳遞引數。

基本資料型別的引數:值傳遞

表作為引數:指標傳遞

練習:寫乙個判斷閏年的函式,引數為年、月、日。若是是閏年,返回true

函式最重要的目的是方便我們重複使用相同的一段程式。

將一些操作隸屬於乙個函式,以後你想實現相同的操作的時候,只用呼叫函式名就可以,而不需要重複敲所有的語句。

首先,我們要定義乙個函式, 以說明這個函式的功能。

def square_sum(a,b):

c = a**2 + b**2

return c

這個函式的功能是求兩個數的平方和。

首先,def,這個關鍵字通知python:我在定義乙個函式。square_sum是函式名。

括號中的a, b是函式的引數,是對函式的輸入。引數可以有多個,也可以完全沒有(但括號要保留)。

我們已經在迴圈和選擇中見過冒號和縮進來表示的隸屬關係。

c = a**2 + b**2        # 這一句是函式內部進行的運算

return c               # 返回c的值,也就是輸出的功能。python的函式允許不返回值,也就是不用return。

return可以返回多個值,以逗號分隔。相當於返回乙個tuple(定值表)。

return a,b,c          # 相當於 return (a,b,c)

在python中,當程式執行到return的時候,程式將停止執行函式內餘下的語句。return並不是必須的,當沒有return, 或者return後面沒有返回值時,函式將自動返回none。none是python中的乙個特別的資料型別,用來表示什麼都沒有,相當於c中的null。none多用於關鍵字引數傳遞的預設值。

定義過函式後,就可以在後面程式中使用這一函式

print square_sum(3,4)
python通過位置,知道3對應的是函式定義中的第乙個引數a, 4對應第二個引數b,然後把引數傳遞給函式square_sum。

(python有豐富的引數傳遞方式,還有關鍵字傳遞、表傳遞、字典傳遞等,基礎教程將只涉及位置傳遞)

函式經過運算,返回值25, 這個25被print列印出來。

我們再看下面兩個例子

a = 1

def change_integer(a):

a = a + 1

return a

print change_integer(a)

print a

#===(python中 "#" 後面跟的內容是注釋,不執行 )

b = [1,2,3]

def change_list(b):

b[0] = b[0] + 1

return b

print change_list(b)

print b

第乙個例子,我們將乙個整數變數傳遞給函式,函式對它進行操作,但原整數變數a不發生變化。

第二個例子,我們將乙個表傳遞給函式,函式進行操作,原來的表b發生變化。

對於基本資料型別的變數,變數傳遞給函式後,函式會在記憶體中複製乙個新的變數,從而不影響原來的變數。(我們稱此為值傳遞)

但是對於表來說,表傳遞給函式的是乙個指標,指標指向序列在記憶體中的位置,在函式中對錶的操作將在原有記憶體中進行,從而影響原有變數。 (我們稱此為指標傳遞)

def function_name(a,b,c):

statement

return something  # return不是必須的

函式的目的: 提高程式的重複可用性。

return     none

通過位置,傳遞引數。

基本資料型別的引數:值傳遞

表作為引數:指標傳遞

練習:寫乙個判斷閏年的函式,引數為年、月、日。若是是閏年,返回true

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 函式基礎

定義 函式是指將一組語句的集合通過乙個名字 函式名 封裝起來,要想執行這個函式,只需呼叫其函式名即可 為什麼使用函式 減少重複 使程式變的可擴充套件使程式變得易維護 1 定義乙個函式 2def func 使用def關鍵字定義函式 接函式名,括號內可以傳遞引數 3print hello world 函...