Re: [Python] Gestione dei file di testo (newbie)
Grazie, ho studiato il modulo, adesso mi sono buttato sulla gestione delle stringhe, credo che fra qualche giorno avr� lo script che mi serve :-) * [il 17/11/07, 13:53], Sandro Dentella <[EMAIL PROTECTED]> ha scritto: > > Esiste qualche funzione che mi permette di cavarmela velocemente? > > Si ConfigParser, un modulo standard e visto che sei nuovo, la pappa già fatta > dovrebbe essere questa: > > from ConfigParser import ConfigParser > c = ConfigParser() > c.read('abookrc') > > class Ref(object): > def __init__(self, data): > for key, val in data: > ## hai " nel file abookrc, quindi li tolgo > setattr(self, key, val.strip('"')) > > for ref in c.sections(): > r = Ref(c.items(ref)) > print vars(r) ## diamo una occhiata agli oggetti creati... > > > > sandro > *:-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] lavorare con più classi
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. Mi chiedevo se in python fosse necessario farlo o se è comunque una buona pratica, nonostante non sia necessaria. 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? Grazie, Carlo ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] lavorare con p iù classi
> abituato a programmare con Java. Ho sempre il pensiero di dover > mettere ogni classe in un file separato. > > Mi chiedevo se in python fosse necessario farlo o se è comunque una > buona pratica, nonostante non sia necessaria. No! se leggi un po' di codice in giro puoi verificare che non è certo pratica diffusa. Una classe può anche essere molto piccola, ed alla fine potresti avere una miriade di file minuscoli... non sapevo che java imponesse questa regola, del resto non ho mai avvicinato java... > 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 A parte che hai dimenticato il : nella definizione a me questo codice funziona... a=ClasseA() a.metodoA('ciao') ciao sandro *:-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] lavorare con più classi
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. N :-) 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
[Python] Re: lavorare con più classi
On Nov 18, 2007 1:10 PM, Mr. SpOOn <[EMAIL PROTECTED]> wrote: > Ho cercato di ricreare più o meno la mia situazione. L'errore che ricevo è: > > NameError: global name 'ClasseB' is not defined > > Dove sbaglio? Ok, scusate la domanda stupida e l'autorisposta che mi sto dando, ma penso di aver risolto. Semplicemente nel programma usavo il trucchetto del if __name__ == "main" e definivo ClasseB dopo questo blocco if :\ ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] lavorare con più classi
On Nov 18, 2007 1:31 PM, Y3s <[EMAIL PROTECTED]> wrote: > Così com'è deve funzionare. Se stanno nello stesso modulo. Verifica i > nomi... Ho risolto. Nella classe avevo usato il "trucchetto": if __name__ == "main" però avevo inserito ClasseB dopo il blocco if. Immagino quindi che non la vedesse per questo. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] lavorare con più classi
Il giorno 18/nov/07, alle ore 14:38, Mr.SpOOn ha scritto: On Nov 18, 2007 1:31 PM, Y3s <[EMAIL PROTECTED]> wrote: Così com'è deve funzionare. Se stanno nello stesso modulo. Verifica i nomi... Ho risolto. Nella classe avevo usato il "trucchetto": if __name__ == "main" però avevo inserito ClasseB dopo il blocco if. Immagino quindi che non la vedesse per questo. Si, infatti: in quel modo il nome "ClasseB" viene definito nell'if e non nel namespace del modulo, quindi fuori dall'if quel nome non esiste più, da qui l'errore. -- Antonio Valente ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Re: lavorare con più classi
Mr.SpOOn wrote: > Ho risolto. Nella classe avevo usato il "trucchetto": > > if __name__ == "main" > > però avevo inserito ClasseB dopo il blocco if. Immagino quindi che non > la vedesse per questo. La convenzione universalmente usata è che questo if, per l'attivazione condizionata del main, sia ultimo nel file. -- Nicola Larosa - http://www.tekNico.net/ Most users don't care about the distinction between GET and POST (sadly, neither do many developers), but I think there is an understanding that links just lead to another page, whereas buttons perform an action. I see no reason to violate this. -- Chris Shiflett, December 2006 ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] elencare numeri in binario
2007/11/16, Mr. SpOOn <[EMAIL PROTECTED]>: > esiste qualche metodo per stampare i primi N numeri in forma binaria? > E la possibilità di stamparli con un numero fissato di bit? Python 3.0a1+ (py3k:58889, Nov 6 2007, 19:05:24) [GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> for i in range(8): ... print( bin(i)[2:].zfill(3) ) ... 000 001 010 011 100 101 110 111 Saluti. -- .Facundo Blog: http://www.taniquetil.com.ar/plog/ PyAr: http://www.python.org/ar/ ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] elencare numeri in binario
On Nov 18, 2007 4:45 PM, Facundo Batista <[EMAIL PROTECTED]> wrote: > Python 3.0a1+ (py3k:58889, Nov 6 2007, 19:05:24) > [GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> for i in range(8): > ... print( bin(i)[2:].zfill(3) ) Mmm... cos'è bin()? La shell non lo riconosce. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] elencare numeri in binario
On Sunday 18 November 2007, Mr.SpOOn wrote: > Mmm... cos'è bin()? La shell non lo riconosce. E` una built-in che trovi a partire da p3k ;) -- Eriol - *p = NULL; - EIBTI GPG Key ID 0B7C8A19 http://mornie.org ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] elencare numeri in binario
On Nov 18, 2007 5:35 PM, Eriol <[EMAIL PROTECTED]> wrote: > On Sunday 18 November 2007, Mr.SpOOn wrote: > > Mmm... cos'è bin()? La shell non lo riconosce. > > E` una built-in che trovi a partire da p3k ;) Mmm, interessante. E utilizzare Py3k che svantaggi comporterebbe? ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] elencare numeri in binario
On Nov 18, 2007 5:56 PM, Mr. SpOOn <[EMAIL PROTECTED]> wrote: > On Nov 18, 2007 5:35 PM, Eriol <[EMAIL PROTECTED]> wrote: > > On Sunday 18 November 2007, Mr.SpOOn wrote: > > > Mmm... cos'è bin()? La shell non lo riconosce. > > > > E` una built-in che trovi a partire da p3k ;) > > Mmm, interessante. E utilizzare Py3k che svantaggi comporterebbe? Beh prima o poi lo faremo tutti ma è un alpha e direi che forse per imparare è meglio restare sulla 2.x Nulla toglie però di usare la 2.6alpha come target se ti interessa arrivare al 3.0 il prima possibile :D -- Lawrence, oluyede.org - neropercaso.it "It is difficult to get a man to understand something when his salary depends on not understanding it" - Upton Sinclair ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python