[問題] None在def中的變化
各位大大好
小弟超新手,看書自學遇到一個觀念的問題想請大家指點:
ex1:
>>>def buggy(arg,result=[]):
result.append(arg)
print(result)
>>>buggy('a')
["a"]
>>>buggy('b')
["a","b"]
ex1中,buggy()輸出的值會一直累加下去
ex2:
>>>def non(arg,result=None):
if result is None:
result =[]
result.append(arg)
print(result)
>>>non('a')
['a']
>>>non('b')
['b']
ex2中,non()輸出的值都只輸出該次的值,不會留下上一次輸入過的值
根據書中說明預設的引數值只在定義時被計算,想請問為什麼ex2裡
引述預設值改為None時,不會發生印出的內容包含前一次呼叫內容,
第一次輸出['a']後,result不是已經變成['a']了嗎,為什麼還會
重置成[]?
先感謝回復的大大
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.224.55 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1585626900.A.C5F.html
推
03/31 11:59,
4年前
, 1F
03/31 11:59, 1F
推
03/31 12:25,
4年前
, 2F
03/31 12:25, 2F
推
03/31 12:27,
4年前
, 3F
03/31 12:27, 3F
→
03/31 12:29,
4年前
, 4F
03/31 12:29, 4F
→
03/31 12:29,
4年前
, 5F
03/31 12:29, 5F
→
03/31 12:29,
4年前
, 6F
03/31 12:29, 6F
→
03/31 12:29,
4年前
, 7F
03/31 12:29, 7F
→
03/31 12:29,
4年前
, 8F
03/31 12:29, 8F
→
03/31 12:30,
4年前
, 9F
03/31 12:30, 9F
→
03/31 12:31,
4年前
, 10F
03/31 12:31, 10F
→
03/31 12:32,
4年前
, 11F
03/31 12:32, 11F
推
03/31 12:35,
4年前
, 12F
03/31 12:35, 12F
推
03/31 13:14,
4年前
, 13F
03/31 13:14, 13F
→
03/31 13:23,
4年前
, 14F
03/31 13:23, 14F
推
03/31 18:13,
4年前
, 15F
03/31 18:13, 15F
推
03/31 19:06,
4年前
, 16F
03/31 19:06, 16F
→
03/31 19:06,
4年前
, 17F
03/31 19:06, 17F
推
04/01 10:16,
4年前
, 18F
04/01 10:16, 18F
→
04/01 10:16,
4年前
, 19F
04/01 10:16, 19F
→
04/01 10:17,
4年前
, 20F
04/01 10:17, 20F
→
04/01 10:18,
4年前
, 21F
04/01 10:18, 21F
→
04/01 10:20,
4年前
, 22F
04/01 10:20, 22F
→
04/01 11:10,
4年前
, 23F
04/01 11:10, 23F
→
04/01 11:10,
4年前
, 24F
04/01 11:10, 24F
→
04/01 11:12,
4年前
, 25F
04/01 11:12, 25F
→
04/01 11:13,
4年前
, 26F
04/01 11:13, 26F
推
04/01 13:09,
4年前
, 27F
04/01 13:09, 27F
→
04/01 13:09,
4年前
, 28F
04/01 13:09, 28F
→
04/01 16:53,
4年前
, 29F
04/01 16:53, 29F
→
04/01 16:53,
4年前
, 30F
04/01 16:53, 30F
→
04/01 16:53,
4年前
, 31F
04/01 16:53, 31F
推
04/02 01:36,
4年前
, 32F
04/02 01:36, 32F
→
04/02 01:37,
4年前
, 33F
04/02 01:37, 33F
→
04/02 01:37,
4年前
, 34F
04/02 01:37, 34F
→
04/02 01:38,
4年前
, 35F
04/02 01:38, 35F
→
04/02 01:39,
4年前
, 36F
04/02 01:39, 36F
→
04/02 01:40,
4年前
, 37F
04/02 01:40, 37F
→
04/02 01:40,
4年前
, 38F
04/02 01:40, 38F
推
04/02 01:42,
4年前
, 39F
04/02 01:42, 39F
→
04/02 01:50,
4年前
, 40F
04/02 01:50, 40F
推
04/02 09:29,
4年前
, 41F
04/02 09:29, 41F
→
04/02 09:29,
4年前
, 42F
04/02 09:29, 42F
→
04/02 09:30,
4年前
, 43F
04/02 09:30, 43F
→
04/02 09:30,
4年前
, 44F
04/02 09:30, 44F
→
04/02 09:31,
4年前
, 45F
04/02 09:31, 45F
→
04/02 09:31,
4年前
, 46F
04/02 09:31, 46F
→
04/02 09:33,
4年前
, 47F
04/02 09:33, 47F
推
04/02 09:53,
4年前
, 48F
04/02 09:53, 48F
→
04/02 09:54,
4年前
, 49F
04/02 09:54, 49F
→
04/02 09:54,
4年前
, 50F
04/02 09:54, 50F
→
04/02 09:55,
4年前
, 51F
04/02 09:55, 51F
推
04/06 07:44,
4年前
, 52F
04/06 07:44, 52F
→
04/06 11:11,
4年前
, 53F
04/06 11:11, 53F
→
04/06 11:12,
4年前
, 54F
04/06 11:12, 54F
→
04/06 16:30,
4年前
, 55F
04/06 16:30, 55F
→
04/06 16:30,
4年前
, 56F
04/06 16:30, 56F
推
04/30 17:00,
4年前
, 57F
04/30 17:00, 57F
→
04/30 17:01,
4年前
, 58F
04/30 17:01, 58F
→
04/30 17:01,
4年前
, 59F
04/30 17:01, 59F
討論串 (同標題文章)
Python 近期熱門文章
PTT數位生活區 即時熱門文章