Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #35832

Re: father class name

From Roy Smith <roy@panix.com>
Newsgroups comp.lang.python
Subject Re: father class name
Date 2012-12-30 23:27 -0500
Organization PANIX Public Access Internet and UNIX, NYC
Message-ID <roy-9F211B.23270030122012@news.panix.com> (permalink)
References <mailman.1483.1356927535.29569.python-list@python.org>

Show all headers | View raw


In article <mailman.1483.1356927535.29569.python-list@python.org>,
 contro opinion <contropinion@gmail.com> wrote:

> here is my haha  class
> class  haha(object):
>   def  theprint(self):
>     print "i am here"
> 
> >>> haha().theprint()
> i am here
> >>> haha(object).theprint()
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> TypeError: object.__new__() takes no parameters
> 
> why   haha(object).theprint()  get wrong output?

Please, when asking questions, let us know what version of python you're 
using.  I'm guessing 2.x?

In any case, the problem is that you defined a class whose constructor 
takes no arguments:

> class  haha(object):
>   def  theprint(self):
>     print "i am here"

You didn't define an __init__() method, so it inherits the one from the 
base class, object.

Then here:

> >>> haha(object).theprint()

you try to create an instance of your class and give an argument to the 
constructor.

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

father class name contro opinion <contropinion@gmail.com> - 2012-12-31 12:18 +0800
  Re: father class name Roy Smith <roy@panix.com> - 2012-12-30 23:27 -0500
  Re: father class name 88888 Dihedral <dihedral88888@googlemail.com> - 2013-01-01 00:37 -0800
  Re: father class name 88888 Dihedral <dihedral88888@googlemail.com> - 2013-01-01 00:37 -0800

csiph-web