[问题] 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