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
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python