[node() for _ in range(100)]
:
class node(object):
def __init__(self, children=None):
if children is None: children = []
self.children = children
def __init__(self, children= []):, , , :
In [18]: class node(object):
....: def __init__(self, children = []):
....: self.children = children
....:
In [19]: n1= node()
In [20]: n2 = node()
In [21]: n1.children.append("foo")
In [22]: n1.children
Out[22]: ['foo']
In [23]: n2.children
Out[23]: ['foo']
The right way:
In [24]: class node(object):
....: def __init__(self, children=None):
....: if children is None: children = []
....: self.children = children
....:
In [25]: n1= node()
In [26]: n2 = node()
In [27]: n1.children.append("foo")
In [28]: n1.children
Out[28]: ['foo']
In [29]: n2.children
Out[29]: []
source
share