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

Francesco Pischedda francesco.pischedda a gmail.com
Mer 17 Feb 2016 20:57:49 CET


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?


-- 
"Unix IS user friendly. It's just selective about who its friend are"

"Nevertheless I still think it’s a bad idea to make things harder for
ourselves if we can avoid it."

"C is quirky, flawed, and an enormous success."
                                   -- Dennis Ritchie

"Shipping is a feature. A really important feature. Your product must have
it."

"La gatta frettolosa ha fatto i gattini ciechi"
-------------- parte successiva --------------
Un allegato HTML č stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20160217/b9accfc4/attachment.html>


Maggiori informazioni sulla lista Python