Beginning Question about Python functions, parameters...

Neo neo at picture-art.eu
Mon Nov 23 18:37:33 CET 2009


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



More information about the Python-list mailing list