[Python] super(MyClass, self).__init__(*args, **kwargs)

Christian Barra barrachri a gmail.com
Mer 17 Feb 2016 21:01:41 CET


Il giorno 17 febbraio 2016 20:57, Francesco Pischedda <
francesco.pischedda a gmail.com> ha scritto:

>
> 2016-02-17 19:59 GMT+01:00 Giuseppe Costanzi <giuseppecostanzi a gmail.com>:
>
>> args = ('Y','Y','Z')
>>     kwargs = {1:"A", 2:"B", 3:"C"}
>>
>>     foo = B(args, kwargs)
>>
>
> ok questo č praticamente un check della mia comprensione di questo
> meccanismo di python:
>
> nella chiama al costruttore di B stai passando due argomenti posizionali
> cioč args e kwargs che sono rispettivamente una tupla e un dict e il
> __init__ di B ha un primo parametro posizionale chiamato arg (che cattura
> la prima tupla) mentre mi pare di capire che tu volessi fare una cosa del
> tipo:
>
> foo = B(*args, **kwargs)
>
> cioč espandere la tupla args in parametri posizionali e il dict kwargs in
> parametri chiave valore, ho capito male?
>
>
aggiungo che questo non ha senso

b = {1:"A", 2:"B", 3:"C"}
**b

che equivale a dire

1="A", 2="B", 3="C"



-- 

I wish you a good day,
Christian
-------------- parte successiva --------------
Un allegato HTML č stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20160217/04493148/attachment-0001.html>


Maggiori informazioni sulla lista Python