[Python] Argomenti funzione posizionali e opzionali
Alessandro Dentella
sandro.dentella a gmail.com
Ven 20 Nov 2020 15:53:46 CET
On Fri, Nov 20, 2020 at 03:14:53PM +0100, Valerio Pachera wrote:
> Ciao a tutti, sto definendo una funziona a cui devo passare un valore per
> id o per nome.
>
> Il mio approccio è stato questo
>
> def modify_firma(signature_id='', signature_name='', content):
> if signatrue_id:
> pass
> elif signature_name:
> pass
>
> Ci sono due problemi: il parametro content è posizionale e va messo prima.
> Questo errore mi ha fatto pensare che devo passare almeno uno dei parametri
> signature_id o signature_name.
> Posso spostare la logica di controllo all'interno della funzione ma mi
> chiedevo quale sia la via migliore per gestire questa situazione.
>
> L'altra idea è quella di mettere due parametri posizioni, il primo dei
> quali sarà un dizionario.
>
> def modifiy_signature(reference, content):
> if 'id' in reference:
> pass
> elif 'name' in reference:
> pass
non mi è chiaro perché non metti content al primo posto::
def modify_firma(content, signature_id='', signature_name=''):
...
Mettere un dizionario mi pare inutilmente complesso in questo caso.
sandro
*:-)
Maggiori informazioni sulla lista
Python