2016年12月20日 星期二

[Python]1.9.2 自定義函式

def 函式名稱(參數1, 參數2........):
      若干運算(敘述)
       return 回傳值1, 回傳值2......

 可以沒有回傳值

 def power(base,exp):
       return base**exp

函式的呼叫
power(2,3)
power(exp=3,base=2)

遞迴
如果我們今天有一個清單

lst = [1,2,[1,2,3],2,4,5,[23,12],[12,23,34,67]]

def print_list(lst):
 for item in lst:
  if isinstance(item,list):
   print_list(item)
  else:
   print item,

#isinstance(item,型態)這個方法就是問
#請問item是這個型態嗎?

#這邊要注意,運用遞回的方法把每一層的list剝開
print_list(lst)
執行結果 >>>1 2 1 2 3 2 4 5 23 12 12 23 34 67


參數的預設值
def add(a,b=1):
      return a+b

注意:帶有預設值的參數都需擺在沒有預設值的後面,
            位置呼叫時無法指定哪一些參數用預設值