[問題] Class內使用list的問題

作者: xb1015 (Marco)   2021-04-13 00:03:13
各位大大好
請問class內是否可以各個物件使用各自的list呢?
我發現 two.thelist 會出現'10',但是實際append在one
請問原因是什麼呢?
要如何各自使用各自的list呢?(one & two 擁有不同的thelist)
請大大指點迷津! 感激不盡~
e.g.
class class1():
theint = -1
thelist=[]
def __init__(self, A, B):
print(A)
self.theint = A
self.thelist.append(B)
one = class1(123)
two = class1(456)
one.thelist.append(10)
one.thelist
>> Out: [456, 789, 10]
two.thelist
>> Out: [456, 789, 10]
作者: dogppatrick (沒梗)   2021-04-13 00:14:00
你這邊建立class 要給兩個參數 你只給一個直接報錯吧
作者: sherees (ShaunTheSheep)   2021-04-13 00:55:00
thelist放在__init__裡面賦值簡單說就是刪掉thelist = []那行
作者: aidansky0989 (alta)   2021-04-13 08:07:00
你打印出來的是同一個類屬性thelist,就跟你打印theint都是-1一樣
作者: leolarrel (真.粽子無雙)   2021-04-13 10:28:00
thelist 放的位置錯了,要放在__init()__ 區塊

Links booklink

Contact Us: admin [ a t ] ucptt.com