[Python] Dubbi su hash e set
Francesco Guerrieri
f.guerrieri a gmail.com
Mar 6 Maggio 2008 13:04:35 CEST
On Mon, May 5, 2008 at 9:20 AM, Pietro Battiston <toobaz a email.it> wrote:
> Pietro Battiston ha scritto:
> > enrico franchi ha scritto:
>
> >> On Sun, May 4, 2008 at 7:20 PM, Pietro Battiston <toobaz a email.it> wrote:
> >>
> >>
> >>> (O intendi qualcos'altro? Io per ora del tipo "set" sto usando update,
> >>> remove, add, metodi che non vorrei dover ridefinire)
> >>>
> >>
> >> E non ridefinirli. Delegali.
>
> Vabbé che "Google is my friend", ma certo sei un tantinello criptico
> (immagino si evinca dai miei messaggi precedenti quanto io sia poco
> esperto di Python)?
>
> "delegare" significa in pratica "richiamare esplicitamente il metodo di
> libreria all'interno del metodo che si ridefinisce"? Tipo
>
> class nonderivata():
> def __fai_questo__(self):
> set.__fai_questo__(self)
>
> ?
>
> Se sì, che ci guadagno?!
> Se no, che vuol dire?!
Ciao, spero di non aggiungere confusione. Se fosse così, cancellate
il mio messaggio :)
Ho letto rapidamente il thread, forse un semplice esempio può essere utile:
>>> class my_list(list):
... def append(self, val):
... print "ciao", val
... list.append(self, val)
...
>>> prova=my_list([1,2,3])
>>> prova
[1, 2, 3]
>>> prova.reverse()
>>> prova
[3, 2, 1]
>>> prova.append(4)
ciao 4
>>> prova
[3, 2, 1, 4]
Come vedi my_list eredita da list, a cui delega tutti i metodi,
ad esempio __repr__ e reverse, e invece sovrascrive,
in una maniera veramente stupida, il metodo append.
ciao,
fra
Maggiori informazioni sulla lista
Python