Steven D'Aprano wrote: >> Another solution to this is the use of a 'marker' object and identity test: >> >> _marker = [] >> class A(object): >> def __init__(self, n): >> self.data =n >> def f(self, x = _marker): >> if x is _marker: >> x = self.data >> print x > > I would like to see _marker put inside the class' scope. That prevents > somebody from the outside scope easily passing _marker as an argument to > instance.f.
if you don't want people to be able to easily pass _marker as an argument to the f method, you probably shouldn't use it as the default value. </F> -- http://mail.python.org/mailman/listinfo/python-list