定義函數:python
在python中定義一個函數要使用def語句,依次寫出函數名,括號,括號內的參數和冒號:,而後,在縮進塊中編寫函數體,函數的返回值用return語句返回。函數
def my_abs(x):code
if x >= 0:遞歸
return xio
else:test
return -ximport
若是你已經把my_abs()
的函數定義保存爲abstest.py
文件了,那麼,能夠在該文件的當前目錄下啓動Python解釋器,用from abstest import my_abs
來導入my_abs()
函數,注意abstest
是文件名(不含.py
擴展名)擴展
空函數語法
若是想定義一個什麼事也不作的空函數,能夠用pass語句:nio
def nop():
pass
if age > = 18:
pass
定義可變參數和關鍵字參數的語法
*arg是可變參數,args接收的是一個tuple;
*kw是關鍵字參數,kw接收的是一個dict。
可變參數既能夠直接傳入:func(1, 2, 3)
,又能夠先組裝list或tuple,再經過*args
傳入:func(*(1, 2, 3))
;
關鍵字參數既能夠直接傳入:func(a=1, b=2)
,又能夠先組裝dict,再經過**kw
傳入:func(**{'a': 1, 'b': 2})
。
遞歸函數:
def fact(n):
if n==1:
return 1
return n*fact(n-1)
漢諾塔執行code:
def hanio(n,'a','b','b')
if n==1:
print(a,'->',c)
else:
move(n-1,'a','c','b')
move(1,'a','b','c')
move(n-1,'b','a','c')