看書時遇到一個問題沒辦法解釋,想請教各位先進
class Kangaroo:
def __init__(self, name, contents=[]):
self.name = name
self.pouch_contents = contents
為什麼這個類別在建立不同物件時,contents會參考到相同的串列?
我以為在每次建立物件時,各自物件的contents都會參考到一個新的串列
但事實上並不是,而書上提供的解法是:
class Kangaroo:
def __init__(self, name, contents=None):
self.name = name
if contents is None:
contents = []
self.pouch_contents = contents
為什麼這邊的contents = []就可以建立新的串列物件?