亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

return fs 返回的為什么是函數?不是返回的 list 嗎???


def?count():
????fs?=?[]
????for?i?in?range(1,?4):
????????def?f():
?????????????return?i*i
????????fs.append(f)
????return?fs

f1,?f2,?f3?=?count()

原因就是當count()函數返回了3個函數時,這3個函數所引用的變量 i?的值已經變成了3。由于f1、f2、f3并沒有被調用,所以,此時他們并未計算 i*i,當 f1 被調用時:

正在回答

2 回答

你可以試一下在函數中print fs,就可以看到確實是返回的列表,但是返回的數據不能用,因為用的是閉包的方法,所以只能用函數命名的方式才能把數據取出來(在需要用的時候),建議再把閉包看一遍,或者去找個小視頻看看 比如小甲魚

0 回復 有任何疑惑可以回復我~

def count():

fs = []

for i in range(1,4):

def f():

return i*i

fs.append(f())

return fs

這樣返回的是list

2 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
python進階
  • 參與學習       255563    人
  • 解答問題       3038    個

學習函數式、模塊和面向對象編程,掌握Python高級程序設計

進入課程

return fs 返回的為什么是函數?不是返回的 list 嗎???

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號