On Fri, 14 Apr 2006 13:30:49 -0300, Felipe Almeida Lessa wrote: > Em Sex, 2006-04-14 às 09:18 -0700, wietse escreveu: >> def __init__(self, name, collection=[]): > > Never, ever, use the default as a list.
Unless you want to use the default as a list. Sometimes you want the default to mutate each time it is used, for example that is a good technique for caching a result: def fact(n, _cache=[1, 1, 2]): "Iterative factorial with a cache." try: return _cache[n] except IndexError: start = len(_cache) product = _cache[-1] for i in range(start, n+1): product *= i _cache.append(product) return product -- Steven. -- http://mail.python.org/mailman/listinfo/python-list