python提供了許多內建函數,例如print()。python
本身建立的函數,叫作用戶自定義函數。express
定義一個由本身想要功能的函數,如下是簡單的規則:函數
格式:ui
def 函數名(參數列表):spa
函數體orm
def area(width,height): #計算面積函數
return width*height
x = area(5,4)
如下是調用函數時可以使用的正式參數類型:內存
不定長參數,基本語法以下:文檔
def functionname([formal_args,] *var_args_tuple ):
"函數_文檔字符串"
function_suite
return [expression]字符串
#可寫函數說明
def printinfo(arg1,*vartuple):
"打印任何傳入的參數"
print("輸出:")
print(arg1)
print(vartuple)
for var in vartuple:
print (var)
return
#調用printinfo函數
printinfo(10) #在函數調用時沒有指定參數,它就是一個空元組。咱們也能夠不向函數傳遞未命名的變量
printinfo(70,50,60) #加了星號 * 的參數會以元組(tuple)的形式導入,存放全部未命名的變量
參數帶兩個星號 **基本語法以下:it
def functionname([formal_args,] **var_args_dict ):
"函數_文檔字符串"
function_suite
return [expression]
def printinfo(arg1,**vardict):
"打印任何傳入的參數"
print("輸出: ")
print (arg1)
print(vardict)
printinfo(1,a=2,b=3) #加了兩個星號 ** 的參數會以字典的形式導入
python 使用 lambda 來建立匿名函數。
所謂匿名,意即再也不使用 def 語句這樣標準的形式定義一個函數。
語法以下:
lambda [arg1 [,arg2,.....argn]]:expression
sum = lambda arg1,arg2: arg1+arg2
print("相加後的值是: ",sum(10,20))
return [表達式] 語句用於退出函數,選擇性地向調用方返回一個表達式。不帶參數值的return語句返回None。
def sum(arg1,arg2): total = arg1 + arg2 print("函數內: ",total) return totaltotal = sum(10,20)print("函數外: ",total)