Re: ignoring keywords on func. call

2005-04-06 Thread Peter Otten
Brano Zarnovican wrote: > But it still doesn't guarantee that __getitem__ accepts keywords. > (What if somebody will extend the Tree class and overlook the > definition of __getitem__ and define a "classic" one) I deem it more likely that that same somebody will not overlook it and dump your Tree

Re: ignoring keywords on func. call

2005-04-06 Thread Steve Holden
Brano Zarnovican wrote: Q: Can you call 'f' with keywords that will be ignored, without changing 'f's definition ? no. OK. Thank you for an answer. what's the use case? I have extended the dict class, so that my __getitem__ accepts an optional parameter [...] But it still doesn't guarantee that

Re: ignoring keywords on func. call

2005-04-06 Thread Brano Zarnovican
> > Q: Can you call 'f' with keywords that will be > > ignored, without changing 'f's definition ? > > no. OK. Thank you for an answer. > what's the use case? I have extended the dict class, so that my __getitem__ accepts an optional parameter class MyTree(dict): def __getitem__(self, key,

Re: ignoring keywords on func. call

2005-04-06 Thread Fredrik Lundh
Brano Zarnovican wrote: > Q: Can you call 'f' with keywords that will be > ignored, without changing 'f's definition ? no. > I would like to avoid code like this: > k = {} > k['optional'] = 2 > try: > f(1, **k) > except TypeError: > f(1) why would you write code like this? what's the use ca

ignoring keywords on func. call

2005-04-06 Thread Brano Zarnovican
Hi ! If I define 'f' like this def f(a): print a then, the call with keywords f(1, optional=2) fails. I have to change 'f' to def f(a, **kwrds): print a to ignore optional parameters. BUT.. Q: Can you call 'f' with keywords that will be ignored, without changing 'f's definition ? I