Pagina 1 di 1
[Risolto]Python: interpretare files .py senza idle
Inviato: venerdì 21 aprile 2017, 18:08
da bracca
Volevo chiedere se fosse possibile creare diversi file .py inerenti ad un unico progetto utilizzando un semplice editor di testo e compilando direttamente dalla bash di ubuntu, mi spiego meglio con un esempio.
Ho un progetto con tre diversi file .py nella stessa directory: il main, la classe Persona e la
sottoclasse Studente.
Il mio obiettivo è quello di "importare" la classe Persona all'interno di Studente in modo che possa ereditare (un po' come in C++ viene usata la direttiva #include FILENAME__H) e di "far vedere" entrambe le classi al main in modo da poter richiamare metodi vari e stampa.
È quindi possibile "importare" tutte le definizioni nel main e far partire l'interpretazione dal terminale col comando
in modo che restituisca tutto quello che è presente nel main, senza dover usare un IDLE?
Re: Python: interpretare files .py senza idle
Inviato: venerdì 21 aprile 2017, 19:27
da Claudio_F
Tutto quello che hai detto è possibile, cosa che si vede con una semplice prova che avrai sicuramente fatto. Quindi mi domando: "cosa non ha funzionato per far supporre che non sia possibile?" Ipotizzo sia il fatto che import funziona in modo diverso da include (almeno l'include del C, C++ non so). E quindi la domanda diventa: "Come hai scritto gli import? Come ti aspetti che funzionino?"
Re: Python: interpretare files .py senza idle
Inviato: venerdì 21 aprile 2017, 23:18
da bracca
cosa non ha funzionato per far supporre che non sia possibile?
Ad esempio, nella sottoclasse ho scritto
ma poi ho creato la classe derivata con
e lì mi restituisce un errore, sostenendo di non aver dichiarato "Persona"
---EDIT---
Sono un id***a: avrei dovuto usare
anche se non mi è ancora troppo chiaro il motivo.
Re: Python: interpretare files .py senza idle
Inviato: domenica 23 aprile 2017, 11:16
da Claudio_F
bracca ha scritto:avrei dovuto usare
anche se non mi è ancora troppo chiaro il motivo.
"import modulo" rende visibile l'oggetto "modulo" al programma, ma le cose contenute vanno specificate esplicitamente.
Ci sarebbe la possibilità di usare lo star import:
ma è una pratica non corretta, perché se si importano diversi moduli in questa maniera, e due di essi contengono nomi identici, il secondo import sovrascriverà i nomi comuni presenti nel primo.
Bisogna sempre ricordare che in Python ogni nome, a parte le parole riservate del linguaggio, può essere "ridefinito" con una nuova definizione / assegnamento / import, compresi i nomi delle funzioni predefinite, ad esempio è lecito scrivere input=3 perdendo così la possibilità di usare in modo immediato la funzione input (anche se si riuscirebbe ancora a chiamarla con __builtins__.input(), sarebbe da parlare di namespace e precedenza nella risoluzione dei nomi).
Re: Python: interpretare files .py senza idle
Inviato: domenica 23 aprile 2017, 15:06
da bracca
se si importano diversi moduli in questa maniera, e due di essi contengono nomi identici, il secondo import sovrascriverà i nomi comuni presenti nel primo.
Tutto chiaro, grazie!