Re: Keyword arguments - strange behaviour?
From: Steven Bethard (steven.bethard_at_gmail.com)
Date: 12/23/04
- Next message: Grant Edwards: "Re: list IndexError"
- Previous message: Steven Bethard: "Re: list IndexError"
- In reply to: Fuzzyman: "Re: Keyword arguments - strange behaviour?"
- Next in thread: Fuzzyman: "Re: Keyword arguments - strange behaviour?"
- Reply: Fuzzyman: "Re: Keyword arguments - strange behaviour?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Thu, 23 Dec 2004 16:21:24 GMT
Fuzzyman wrote:
>>>Steven Bethard wrote:
>>>>
>>>>So, one of my really common use cases that takes advantage of the
>>>>fact that default parameters are evaluated at function definition
>>>>time:
>>>>
>>>>def foo(bar, baz, matcher=re.compile(r'...')):
>>>> ...
>>>> text = matcher.sub(r'...', text)
>>>> ...
> Sure.. but you also gave an example of an alternative that was complex,
Interesting. I would have thought that my example was pretty simple.
Maybe it would be helpful to generalize it to:
def foo(bar, baz, spam=badger(x, y, z)):
...
All it does is use a default value that was produced by a function call.
I'm surprised you haven't run into this situation before...
Of course, what is complex or simple is a matter of personal opinion. I
use this pattern so often that it's quite simple to me, but I guess I
can understand that if you don't use such a pattern, it might seem
foreign to you.
Steve
- Next message: Grant Edwards: "Re: list IndexError"
- Previous message: Steven Bethard: "Re: list IndexError"
- In reply to: Fuzzyman: "Re: Keyword arguments - strange behaviour?"
- Next in thread: Fuzzyman: "Re: Keyword arguments - strange behaviour?"
- Reply: Fuzzyman: "Re: Keyword arguments - strange behaviour?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|