Beginning Question about Python functions, parameters...

david wright david_v_wright at yahoo.com
Mon Nov 23 20:05:09 CET 2009


----- Original Message ----

From: j <jimmy.casey.3 at gmail.com>
To: python-list at python.org
Sent: Mon, November 23, 2009 10:26:42 AM
Subject: Re: Beginning Question about Python functions, parameters...

On Nov 23, 12:37 pm, Neo <n... at picture-art.eu> wrote:
> astral orange schrieb:
>
>
>
> > Hi, I am trying to teach myself Python and have a good book to help me
> > but I am stuck on something and I would like for someone to explain
> > the following piece of code for me and what it's actually doing.
> > Certain parts are very clear but once it enters the "def store(data,
> > full_name): ...." function and the "def lookup()..." function things
> > get a little confusing for me. Specifically, lines 103-108 *and* Lines
> > 110-111.
>
> > Lastly, I am not sure how to print the results I've put into this
> > program either, the book I'm reading doesn't tell me. As you can tell,
> > I am a beginner and I don't truly understand everything that is going
> > on here...a lot, but not all....
>
> > Here is the code:
>
> >  92 def init(data):
> >  93     data['first'] = {}
> >  94     data['middle'] = {}
> >  95     data['last'] = {}
> >  96
> >  97 def store(data, full_name):
> >  98     names = full_name.split()
> > 100     if len(names) == 2: names.insert(1, '')
> > 101     labels = 'first', 'middle', 'last'
> > 103     for label, name in zip(labels, names):
> > 104         people = lookup(data, label, name)
> > 105     if people:
> > 106         people.append(full_name)
> > 107     else:
> > 108         data[label][name] = [full_name]
> > 109
> > 110 def lookup(data, label, name):
> > 111     return data[label].get(name)
> > 112
> > 113
> > 114 MyNames = {}
> > 115 init(MyNames)
> > 116 store(MyNames, 'John Larry Smith')
> > 117 lookup(MyNames, 'middle', 'Smith')
>
> If it tells you so I'm not really sure its a good book - partially for
> teaching you into the unpythonic way to do things (above stuff, if its
> not a counter example, should really go into a class)
>
> Have you tried the tutorial first? Its online and very easy to follow
> from the very beginning but you can also skip parts if you are sure you
> already understand it:
>
> http://docs.python.org/tutorial/
>
> HTH
> Tino


> > > My main problem is finding out what's it's actually *doing*?

open it up in IDLE (or whatever development environment you use) and use the debugger to step through the code.

the only way to learn stuff is to actually play with it.  

make a guess as to what will happen, run it, did that happen? what did happen? change something, what happens now? etc.



More information about the Python-list mailing list