On 2014-11-21 17:19, Marco Ippolito wrote:

class Sub(Super):
    def __init__(self, indirizzo,cosa_fa):
        Super.__init__(self, nome, cognome, indirizzo)
        self.cosa_fa = cosa_fa
...

ora...

No, anche prima...


se modifico la Sub class in questo modo:

class Sub(Super):
    def __init__(self, cosa_fa):
        Super.__init__(self, nome, cognome, citta)
        self.cosa_fa = cosa_fa


Ne' questo ne' quello di sopra sono corretti. Forse hai delle variabili globali che accidentalmente si chiamano nome e cognome ma non ne hai una che si chiama citta.

nome e cognome sono variabili locali: le devi passare al costruttore di sub, che nel primo caso potrebbe essere ad esempio:

    class Sub(Super):
        def __init__(self, nome, cognome, indirizzo, cosa_fa):
            Super.__init__(self, nome, cognome, indirizzo)
            self.cosa_fa = cosa_fa

Il secondo caso "funziona bene", ovvero ti da` un errore. Anche il primo dovrebbe.


-- Daniele
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a