前段時間一直拼命擼運維相關的東西,所有python耽誤了,今天開始兩手抓。
今日內容
1 函數默認參數的坑
2 函數名的應用
3 可迭代對象與迭代器
一 函數默認參數的坑
當函數的默認參數為可變對象時,如list,那麼無論函數調用多少次,默認參數始終為同一個
# def func(a, list=[]):
# list.append(a)
# return list
# print(func(10,)) # [10,]
# print(func(20,[])) # [20,]
# print(func(100,)) # [10,100]
二 函數名的應用
函數名本身實際就是一個內存地址,指向的是函數執行的入口。
1 函數可以作為參數傳遞
2 函數可以作為返回值
3 函數可以作為變量進行賦值
三 可迭代對象與迭代器的區別
可迭代對象:本質是個對象,擁有_iter_內部方法
優點:存儲的數據直觀顯示,擁有較多的操作方法
缺點:佔用內存
迭代器:含有iter和next內部方法
優點:節省內存開銷
缺點:調用方法簡單,數據顯示不直觀