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語言允許這樣賦值: ,當執行完那段代碼后,count()返回的列表里的元素就這樣被分配下去了啦~,^_^? 希望對你有用~
添加回答
舉報
0/150
提交
取消