Python函式基礎

2021-10-03 12:45:44 字數 1787 閱讀 3213

def 函式名(引數列表):

函式體(return)可選返回值

不可變型別:與c++ 中的值傳遞很相似,常見的有 整數、浮點數、字串、元組等。如fun(a),傳遞的只是a的值,沒有影響a物件本身。如果在 fun(a)內部修改 a 的值,只是修改另乙個複製的物件,不會影響 a 本身。例子:

def

change

(a):

a =10a =

5change(a)

print

(a)#列印出來還是5

可變型別:與c++ 中的引用傳遞很相似,如 列表,字典。如 fun(a),則是將 a 連帶位址真正的傳過去,修改後fun外部的a也會隨之改變,因為它們共用乙個位址。

def

change

(alist):10

)a =[1

,2,3

,4]change(a)

print

(a)#列印出來還是[1, 2, 3, 4, 10]

必需引數、關鍵字引數、預設引數三種就不講了,比較簡單。

python提供了一種形式引數使你需要乙個函式能處理比宣告時更多的引數,這些引數叫做不定長引數

第一種形式:以單星號的引數,則會以元組的形式傳入,以存放未命名的變數引數,例子:

def

printf

(a,*b)

:print

(a)print

(b)return

printf(1,

2,3,

4,5)

#輸出#1

#(2,3,4,5) 可見後面是以元組的形式存放

第二種形式:以雙星號命名引數,則會以字典的形式傳入。例子:

def

printf

(a,**b)

:print

(a)print

(b)return

printf(

1, c=

2,d=3)

#輸出#1

# 可見後面是以字典的形式存放

python函式中星號可以單獨作為引數出現,表達的意義是:如果單獨出現在*後面的引數,需要以關鍵字傳入。

def

printf

(a,*

,b):

print

(a)print

(b)return

printf(

1, b=3)

#若以printf(1,3)傳入,會報錯。

lambda主體,為乙個表示式,能在裡面封裝有限的邏輯。語法形式:

lambda [a [,b,…z]]:expression 其中 [a [,b,…z]]相當於傳入的引數,expression則為一表示式並返回結果。

例子:

add =

lambda a, b: a + b

# 呼叫add函式

print

("相加後的值為 : "

, add(10,

20))#輸出30

print

("相加後的值為 : "

, add(20,

20))#輸出40

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