类和对象问题
1、class List(object):def __init__(self):
self.list=[]
2、class List(object):
def __init__(self,list=[]):
self.list=list
list 1=List()
list 1.list.append('12')
list 2=List()
print(list 2.list)
为什么同样是在__init__后,第一个打印的list 2是[],第二个打印的list 2是['12']? 2是共用一个列表
1是每次实例化都新建的列表 这是个好问题,引人深思
1输出的是两个不同的值,2的两个输出值以及形参默认值的id都是相同的,应该list1.list和list2.list都是那个形参默认值[]的索引
# class List(object):
# def __init__(self):
# self.list=[]
class List(object):
def __init__(self,list=[]):
self.list=list
print(id(list))
list1=List()
list1.list.append('12')
list2=List()
print(id(list2.list), id(list1.list))
页:
[1]