default variable in python $_
rh0dium
steven.klass at gmail.com
Wed Oct 11 10:59:40 EDT 2006
Hi Maria,
This is exactly what I was looking for. I (as others have asked me to)
cleared my head of the other languages, but was mearly giving perl as
an example indicating the compactness I was after.
Thanks Maria!!
MaR wrote:
> rh0dium wrote:
> > Hi all,
> >
> > So I have this simple little routine.. say like this..
> >
> >
> > def foo()
> > return {"a":"b", "b":"c"}
> >
> > if foo():
> > print "Have foo"
> >
> >
> > Now I want the dictionary item a (ie. b)
> >
> > How can I do it the above way or do I still have to go like this..
> >
> > def foo()
> > return {"a":"b", "b":"c"}
> >
> > z = foo()
> > if z:
> > print "Have foo"
> > print z['a']
> >
> > This is where $_ in perl is awesome - There must be a default variable
> > in python right?
>
> As said in earlier response, such a default variable is *dangerous* at
> best!
> Not knowing much about Perl and guessing that the $_ is a global
> storage space, my immediate thought is; What happens if you have
> multiple threads?
>
> The example is too simplified to give any clues as to what you are
> needing the feature for.
> Guessing that you want to generate some dict() and use the result once
> and then discard, write:
>
> foo_default = 1
> def foo(): return(generate_some_dict())
>
> you can further write
>
> foo().get('a', foo_default)
>
> giving compact code and ensuring that you get a well defined result
> regardless what dictionary keys there are.
More information about the Python-list
mailing list