IProgrammatori.it

Forum programmazione

Forum di supporto alla programmazione in generale e nei principali linguaggi.

Oggi è sab lug 31, 2010 6:52 pm

Tutti gli orari sono UTC + 2 ore




   [ 2 messaggi ] 
Autore Messaggio
 Oggetto del messaggio: Estendere la classe dizionario
MessaggioInviato: mer feb 24, 2010 8:08 pm 
Newbies
Iscritto il: mer feb 24, 2010 8:04 pm
Messaggi: 1

Ciao a tutti, vi scrivo xchè ho una grande confusione mentale e da sl nn sn riuscito a porvi rimedio......sto facendo un corso su python che ho installato su ubuntu(mai usato linux prima). L'esercizio consiste nel creare una classe che estende il tipo dizionario affinchè la nuova classe mantenga l'ordine degli elementi inseriti in base alla chiave.
Quindi sia che inserisca 5 elementi al momento della creazione si aggiungendoli a posteriori tali elementi devon esser ordinati in base alla chiave, se poi debbano essere effettivamente memorizzati in ordine in base alla chiave o semplicemente stampati in ordine quando stampo il dizionario nn è ben chiaro ne specificato, ma penso salvati anche in ordine.....

Ad ogni modo questo esercizio che nn so come fare mi ha fatto venire in mente mille dubbi. Finora avevo esteso solo classi fatte da me di cui conosco il codice, esempio: creo la classe persona e la estendo cn Impiegato ecc....e fin qui ok xchè sapendo come è fatta la prima so come modificare il costruttore nella seconda ad esempio.In questo caso invece devo estendere una classe di python, e da qui i miei dubbi:

1)Della classe dict non conosco il codice, quind nn so cosa fa ne come, se dovessi sl aggiungere dei metodi nuovi nn ci sarebbe problema ma se voglio ad esempio modificare il costruttore o altri metodi già fatti devo sapere il codice degli originali x integrare il mio, giusto? o posso farlo anche senza saperlo??

2)In linux dove stanno effettivamente i codici sorgenti di python, e in questo caso dove trovo la classe dict per vedere come è fatta? In java era tanto semplice, c'eran le api online, ti diceva in che pacchetto stava la tua classe e ti guardavi il codice, nella doc online di python invece nn trovo na mazza e su linux nn mi oriento.

3) L'esercizio che dovrei fare è difficile? Nel senso è complicato o lo è sl per me? Seuggerimenti su come farlo......grazie a tutti


   
 Oggetto del messaggio: Re: Estendere la classe dizionario
MessaggioInviato: dom feb 28, 2010 5:39 pm 
Moderatore
Iscritto il: mar giu 27, 2006 11:52 am
Messaggi: 260

Cita:
1)Della classe dict non conosco il codice, quind nn so cosa fa ne come, se dovessi sl aggiungere dei metodi nuovi nn ci sarebbe problema ma se voglio ad esempio modificare il costruttore o altri metodi già fatti devo sapere il codice degli originali x integrare il mio, giusto? o posso farlo anche senza saperlo??[/code]

no, non devi sapere il codice della classe che estendi...
ti basta riscrivere il metodo/costruttore chiamandolo allo stesso modo (magari modificando il numero o i tipi di parametri in ingresso) e questo e questo fara l'overload del del metodo/costruttore

Cita:
2)In linux dove stanno effettivamente i codici sorgenti di python, e in questo caso dove trovo la classe dict per vedere come è fatta? In java era tanto semplice, c'eran le api online, ti diceva in che pacchetto stava la tua classe e ti guardavi il codice, nella doc online di python invece nn trovo na mazza e su linux nn mi oriento.


dovresti guardare dove sta python prova magari in /etc ma non so dirti...

Cita:
3) L'esercizio che dovrei fare è difficile? Nel senso è complicato o lo è sl per me? Seuggerimenti su come farlo......grazie a tutti


l'esercizio non sembra difficile... sicuramente io gli farei solo stampare in ordine in quanto altrimenti ad ogni inserimento dovrei cancellare la sorgente di dati e ricrearla ordinata (metodo né comodo né efficiente)

_________________
per qualsiasi consiglio, problema riguardante prodotti microsoft visitate http://www.windowsolution.org


   
Visualizza ultimi messaggi:  Ordina per  
   [ 2 messaggi ] 

Tutti gli orari sono UTC + 2 ore


 Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
 
cron