Alan Gauld schreef:
"spir" <denis.s...@free.fr> wrote

> The current way of reading the data is this:
> > def get_info(person)
>    infoDic = {}
>    infoDic['first']      = parser.get(person, 'firstName')
>    infoDic['last']       = parser.get(person, 'lastName')
>    infoDic['father']   = parser.get(person, 'father')
>    infoDic['mother'] = parser.get(person, 'mother')
>    return infoDic

TYhis is almost the same but you are using a dict. A sligtly more readable version is to define a class Person:

class Person:
     def __init__(self, parser):
         self.first  = parser.get(person, 'firstName')

Hey Alan, thanks for that explanation!

But the class you gave, does almost the same thing as my function. We both store the info in a dic, so to retrieve info for a certain person, we both have to do the same thing. Or am I missing something here? If so, I would love to hear it! Because I have to admit that when I program, I rarely use classes.


Yes, its not normal and the class probably should be called ParsedPerson or somesuch. I ws trying to mimic the current code style as much as possible, that was the reason for the
decision. Normally I would agree with you and use:

class Person:
   def __init__(self, first, last, father, mother):
       self.first  = first
       self.last   = last
       self.father   = father
       self.mother = mother



If I do it like this, I will have to parse all the data from the file and then send them to this class and then call this class again to retrieve it. Then I like my function better. But again, I would love to hear if I'm wrong.


Timo


_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to