BarryJOgorman wrote: > Working through Lutz's 'Learning Python' > > Trying to run the following code (from file person.py - see below): > > The file is held in Python31. > > at the Python31 prompt am entering ''person.py' > > Getting the following error: > Traceback (most recent call last) > File "C:python31\person.py", line 9, in (module) > bob=Person('Bob Smith', job='barman', pay =34000) > TypeError: object._new_() takes no parameters
In the future, please cut and paste the traceback -- don't retype. You may introduce errors that obscure the actual problem. > #Add incremental self test code > > class Person: > def _init_(self, name, job=None, pay=0): __init__() like all "special" method needs two leading and two trailing underscores, not one. > self.name = name > self.job = job > self.pay = pay > > bob = Person('Bob Smith', job='barman', pay = 34000) > sue = Person('Sue Jones', job='dev', pay=100000) > print(bob.name, bob.pay) > print(sue.name, sue.pay) Peter -- http://mail.python.org/mailman/listinfo/python-list