[Python-Dev] Function arguments

Thomas Heller thomas.heller@ion-tof.com
Thu, 18 Oct 2001 14:27:46 +0200


> Thomas Heller writes:
>  > I was thinking of a popitem() dictionary method taking
>  > (optionally) 2 arguments: the name of the item to pop,
>  > and the default value to return if the item is not present
> 

From: "Fred L. Drake, Jr." <fdrake@acm.org>
>   A one-arg version of the {}.popitem() method was discussed
> extensively, but some people did not think it sufficiently useful to
> include that variation.  (I don't think anyone suggested a 2-arg
> version at the time.)
I tried to look it up in the archives. Although (because?) there are lots
of messages about popitem() I cannot locate the relevant ones quick.

>   This certainly leads me to think the decision not to support a
> one-arg version should be considered, or maybe a two-arg version.
> However, I do expect the usage with args and without args are
> substantially different.  Perhaps there should be a different method
> that has the one- and two-arg versions you describe, but does not
> support the 0-arg semantics of the current popitem()?  The catch is
> that I'd name this popitem() as well.  ;-)
>   Anyone else?
After posting I noticed that {}.popitem() returns a (key, value) tuple.

To make it absolutely clear (most of the time I'm not very lucky
in explaining what I really want):
What I mean is a {}.get(key, [value=None]) method, which returns the value,
and removes the (key, value) pair from the dict if it is present.
No idea how it should be named - since it does only return the value,
popitem doesn't seem a good idea.

Thomas