I'm trying to use super but keep getting the following error
E:\Code\Python\Nexus\Player>python ./super_test.py
Traceback (most recent call last):
File "./super_test.py", line 14, in ?
main()
File "./super_test.py", line 11, in main
b = B()
File "./super_test.py", line 7, in __init__
super(B, self).__init()
TypeError: super() argument 1 must be type, not classobj
Here's the code:
class A:
def __init__(self):
print 'A'
class B(A):
def __init__(self):
super(B, self).__init()
print 'B'
def main():
b = B()
if __name__ == '__main__':
main() 2 17207
sashan wrote: I'm trying to use super but keep getting the following error
E:\Code\Python\Nexus\Player>python ./super_test.py Traceback (most recent call last): File "./super_test.py", line 14, in ? main() File "./super_test.py", line 11, in main b = B() File "./super_test.py", line 7, in __init__ super(B, self).__init() TypeError: super() argument 1 must be type, not classobj
Here's the code: class A: def __init__(self): print 'A' class B(A): def __init__(self): super(B, self).__init() print 'B' def main(): b = B() if __name__ == '__main__': main()
super() only works for "new style" classes, that is classes that extend
Python's object type. class A(object) should solve your problem.
Cheers, Matt
--
Matt Goodall, Pollenation Internet Ltd
w: http://www.pollenation.net
e: ma**@pollenation.net
> Here's the code:
You will also need to correct:
super(B, self).__init()
to read
super(B, self).__init__() class A: def __init__(self): print 'A'
class B(A): def __init__(self): super(B, self).__init() <<<==== print 'B'
def main(): b = B()
if __name__ == '__main__': main() This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: James Hong |
last post by:
Help please, I try to sending an email from my html page using the java
applet.
but it give error on most of the PC only very few work, what is the error i
make
the java applet show as below
...
|
by: daishi |
last post by:
Hi,
The following code appears to be doing what I'd expect, but
I'm wondering if someone could confirm that there aren't any
"gotchas" hidden in using methods accessed in this way. In...
|
by: Kerim Borchaev |
last post by:
Hello!
Always when I use "super" I create a code duplication because class
used as first arg to "super" is always the class where the method
containing "super" was defined in:
'''
class C:...
|
by: Nicolas Lehuen |
last post by:
Hi,
I hope this is not a FAQ, but I have trouble understanding the behaviour of
the super() built-in function. I've read the excellent book 'Python in a
Nutshell' which explains this built-in...
|
by: Michele Simionato |
last post by:
Here is an idea for a nicer syntax in cooperative method calls,
which is not based on Guido's "autosuper" example. This is just a
hack, waiting for a nicer "super" built-in ...
Here is example...
|
by: Delaney, Timothy C (Timothy) |
last post by:
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/286195
This is a new version of super that automatically determines which
method needs to be called based on the existing stack frames....
|
by: Simon Wittber |
last post by:
I've noticed that a few ASPN cookbook recipes, which are recent
additions, use classic classes.
I've also noticed classic classes are used in many places in the
standard library.
I've been...
|
by: Pupeno |
last post by:
Hello,
I have a class called MyConfig, it is based on Python's
ConfigParser.ConfigParser.
It implements add_section(self, section), which is also implemented on
ConfigParser.ConfigParser, which I...
|
by: Mike Krell |
last post by:
I'm reading Alex Martelli's "Nutshell" second edition. In the section
called "Cooperative superclass method calling", he presents a diamond
inheritance hierachy:
class A(object):
def...
|
by: iu2 |
last post by:
Hi
I'm trying to make a method call automatically to its super using this
syntax:
class A:
chained =
def pr(self):
print 'Hello from A'
|
by: DolphinDB |
last post by:
Tired of spending countless mintues downsampling your data? Look no further!
In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
|
by: ryjfgjl |
last post by:
ExcelToDatabase: batch import excel into database automatically...
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM).
In this month's session, we are pleased to welcome back...
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM).
In this month's session, we are pleased to welcome back...
|
by: jfyes |
last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
|
by: PapaRatzi |
last post by:
Hello,
I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
|
by: CloudSolutions |
last post by:
Introduction:
For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
|
by: Defcon1945 |
last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
|
by: af34tf |
last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
| |