On 2008-01-13, Erik Lind <[EMAIL PROTECTED]> wrote: > I'm new to Python, and OOP. I've read most of Mark Lutz's book and more > online and can write simple modules, but I still don't get when __init__ > needs to be used as opposed to creating a class instance by assignment. For > some strange reason the literature seems to take this for granted. I'd > appreciate any pointers or links that can help clarify this.
I think you mean the following: You'd like to do p = Person('me', 'here', 31) and you are wondering why you need the __init__() function in class Person(object): def __init__(self, name, addres, age): self.name = name self.address = address self.age = age right? If so, the answer is that while you think you are doing "Person('me', 'here', 31)", you are in reality executing "Person.__init__(self, 'me', 'here', 31)", where 'self' is refers to a shiny new, empty object created for you. (and the 'self' is obtained by the Person.__new__ function I think, but others here have much better knowledge about this). Sincerely, Albert -- http://mail.python.org/mailman/listinfo/python-list