Re: [Python] lavorare con più classi
Y3s
y3s a katamail.com
Dom 18 Nov 2007 13:31:12 CET
Il giorno 18/nov/07, alle ore 13:10, Mr.SpOOn ha scritto:
> Salve,
> utilizzo Python da poco e (forse purtroppo) sono stato fin troppo
> abituato a programmare con Java. Ho sempre il pensiero di dover
> mettere ogni classe in un file separato.
Noooo :-)
> Mi chiedevo se in python fosse necessario farlo o se è comunque una
> buona pratica, nonostante non sia necessaria.
Non è necessario e non è una buona pratica in generale. Python non
forza il programmatore a seguire uno stile particolare, però si
preferisce inserire nello stesso file sorgente classi, funzioni e
costanti appartenenti allo stesso dominio logico. Se poi il file
cresce troppo, ci sono i package...
> A parte questo, nelle varie prove che sto facendo incontro qualche
> problema nell'accedere alle classe e ai metodi.
> Ad esempio, ho messo due classi in un unico file e avrei bisogno di
> utilizzare un metodo della seconda classe all'interno di un metodo
> della prima.
>
> Ad esempio:
>
> class ClasseA:
> def metodoA(self, messaggio)
> b = ClasseB()
> b.stampa(messaggio)
>
> class ClasseB:
> def stampa(self, messaggio)
> print messaggio
>
>
> Ho cercato di ricreare più o meno la mia situazione. L'errore che
> ricevo è:
>
> NameError: global name 'ClasseB' is not defined
>
> Dove sbaglio?
Così com'è deve funzionare. Se stanno nello stesso modulo. Verifica i
nomi...se non trova il nome ClasseB, vale a dire che o il nome è
sbagliato oppure non sta nel namespace del modulo di ClasseA (oppure
sono state fatte schifezze varie tipo del ClasseB, o altro ma non
credo :-) )
Ciao
--
Antonio Valente
More information about the Python
mailing list