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