day9 函數與可迭代對象

前段時間一直拼命擼運維相關的東西,所有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內部方法

優點:節省內存開銷

缺點:調用方法簡單,數據顯示不直觀


分享到:


相關文章: