2010-02-12 6 views
19

Iniziamo col dire che ho anche lo stesso errore quando si definisce __init__ e in esecuzione __init__ . L'ho solo semplificato con questo metodo personalizzato per vedere se l'errore si verificava ancora.Esclusione di Python. Ho trovato il mio primo bug Python o si tratta di un errore noob?

import HTMLParser 

class Spider(HTMLParser): 
    """ 
    Just a subclass. 
    """ 

Questo da solo in un modulo solleva il seguente errore:

Traceback (most recent call last): 
    File "D:\my\path\to\my\file 
    class Spider(HTMLParser): 
TypeError: Error when calling the metaclass bases 
    module.__init__() takes at most 2 arguments (3 given) 
+10

Chi ha votato per chiudere Proprio perché questa domanda è facile rispondere, doesn? "Significa che non è garantito, l'eccezione di Python chiaramente non è stata molto utile. Non dovresti creare una sottoclasse di un modulo in modo che Python potrebbe essere meglio dire" Questo errore è causato dalla sottoclassificazione errata di un modulo ". non è un errore di noob avere un errore di battitura o di importazione – orokusaki

+1

Là il messaggio di risposta è nettamente migliore, –

risposta

33

E la risposta è che io sono un noob completo. Questo è un modulo, non una classe, ma lascerò tutto qui nel caso in cui altri noob incontrassero lo stesso problema.

Soluzione:

from HTMLParser import HTMLParser 

Ogni volta che penso che sto cominciando a diventare un professionista, qualcosa di simile accade :(

+3

Non lo so, I co In realtà, vedo che questo fa inciampare molte persone, avendo il modulo e la classe all'interno del modulo lo stesso nome. – BigBeagle

+6

Penso che esista un intervallo di esistenza tra 'complete noob' e' pro'. – MattH

+0

(eliminato una serie di commenti con più flag da più utenti, fuori tema alla domanda) –

Problemi correlati