basic Class in Python
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
#Add incremental self test code
class Person:
def _init_(self, name, job=None, pay=0):
self.name = name
self.job = job
self.pay = pay
bob = Person('Bob Smith', job='barman', pay = 34000)
sue = Person('Sue Jones', job='dev', pay=10)
print(bob.name, bob.pay)
print(sue.name, sue.pay)
--
http://mail.python.org/mailman/listinfo/python-list
Re: basic Class in Python
On Jan 17, 11:09 pm, John Bokma wrote: > BarryJOgorman writes: > > class Person: > > def _init_(self, name, job=None, pay=0): > > def __init__(self, name, job=None, pay=0): > > Note 2x _ before and after init. > > -- > John Bokma j3b > > Hacking & Hiking in Mexico - http://johnbokma.com/http://castleamber.com/- > Perl & Python Development Many thanks - onward and upward! -- http://mail.python.org/mailman/listinfo/python-list
Starting with Classes - basic problem
HAVE THE FOLLOWING VERY BASIC PROGRAM:
class Person:
def _init_(self,name, job=None, pay=0):
self.name=name
self.job=job
self.pay=pay
bob = Person('Bob Smith')
sue = Person('Sue Jones', job='dev', pay = 10)
print(bob.name, bob.pay)
print(sue.name, sue.pay)
I am getting the following error message:
Traceback (most recent call last):
File "C:/Python31/person1.py", line 7, in
bob = Person('Bob Smith')
TypeError: object.__new__() takes no parameters
All suggestions gratefully received.
--
http://mail.python.org/mailman/listinfo/python-list
Re: Starting with Classes - basic problem
On Feb 22, 5:33 pm, Bernard Czenkusz wrote:
> On Mon, 22 Feb 2010 09:26:18 -0800, barryjogorman wrote:
> >HAVE THE FOLLOWING VERY BASIC PROGRAM:
>
> >class Person:
> > def _init_(self,name, job=None, pay=0):
> > self.name=name
> > self.job=job
> > self.pay=pay
>
> >bob = Person('Bob Smith')
> >sue = Person('Sue Jones', job='dev', pay = 10) print(bob.name,
> >bob.pay)
> >print(sue.name, sue.pay)
>
> >I am getting the following error message:
>
> >Traceback (most recent call last):
> > File "C:/Python31/person1.py", line 7, in
> > bob = Person('Bob Smith')
> >TypeError: object.__new__() takes no parameters
>
> >All suggestions gratefully received.
>
> The __init__ method starts and ends with two underscores,not one underscore
> _init_ as you have used.
thanks
--
http://mail.python.org/mailman/listinfo/python-list
