Use cases for del

George Sakkis gsakkis at rutgers.edu
Wed Jul 6 23:29:45 EDT 2005


"Grant Edwards" wrote:

> In 2005-07-07, Leif K-Brooks <eurl... at ecritters.biz> wrote:
>
> - Hide quoted text -
> - Show quoted text -
> > Grant Edwards wrote:
> >> 1) So I know whether an parameter was passed in or not. Perhaps
> >>    it's not considered good Pythonic style, but I like to use a
> >>    single method for both get and set operations.  With no
> >>    parameters, it's a get.  With a parameter, it's a set:
>
> >>    class demo:
> >>       def foo(v=None):
> >>           if v is not None:
> >>               self.v = v
> >>           return self.v
>
> > _NOVALUE = object()
> > class demo:
> >     def foo(v=_NOVALUE):
> >         if v is _NOVALUE:
> >             return self.v
> >         else:
> >             self.v = v
>
> Apart from the change in the logic such that the set operation
> doesn't return a value, how is that any different?  You're just
> creating your own non-integer-value "None" object instead of
> using the one built in to the language.
>
> > But what's wrong with properties?
>
> Huh?

I guess he means why not define foo as property:

class demo(object):
    foo = property(fget = lambda self: self.v,
                   fset = lambda self,v: setattr(self,'v',v))

d = demo()
d.foo = 3
print d.foo


George




More information about the Python-list mailing list