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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于python 閉包(2-9)這節課遇到的問題

關于python 閉包(2-9)這節課遇到的問題

vampire小奇 2016-08-29 18:56:15
def?count(): ????fs?=?[] ????for?i?in?range(1,?4): ???????? ????????def?f(j): ????????????def?g(): ????????????????return?j*j ????????????return?g ???????? ????????r?=?f(i) ????????fs.append(r) ????return?fs我在編譯器里輸了這段代碼,然后執行:f1 = count()打印f1:(f1打印出的地址是個g函數集合)[<function g at 0x0000000002ECE358>, <function g at 0x0000000002ED0CF8>, <function g at 0x0000000002ECE3C8>]然后在執行:f1,f2,f3 = count()打印f1:<function g at 0x0000000002ECE4A8>這時候f1打印出的地址不是集合而是單個g函數,這是為什么?
查看完整描述

1 回答

已采納
?
AIxer

TA貢獻22條經驗 獲得超13個贊

嗯~,怎么說呢~,這樣吧,舉個例子:Python語言允許這樣賦值:http://img1.sycdn.imooc.com//57c42e7d0001f9be02020140.jpg ,當執行完那段代碼后,count()返回的列表里的元素就這樣被分配下去了啦~,^_^? 希望對你有用~

查看完整回答
2 反對 回復 2016-08-29
  • 1 回答
  • 0 關注
  • 1381 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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