Il giorno dom 22 nov 2020 alle ore 18:47 Daniele Zambelli <daniele.zambe...@gmail.com> ha scritto: > [...]
Avevo proposto una soluzione basata su una parola chiave passata come parametro: > Dato che il contenuto e la signature sono necessari per il > funzionamento della funzione e che i due tipi di signature sono > entrambi stringhe, io avrei fatto così: > > def modify_signature(content, signature, signature_type='id'): > if signature_type == 'id': > fa qualcosa > elif signature_type == 'name': > fa qualcosaltro > else: > raise ValueError(.........) Mi erano rimasti dei dubbi... oggi leggendo le note alla versione 3.9 ho trovato una frase che mi ha confermato la fondatezza dei dubbi: "This would avoid adding a new method, but for different behavior, it's better to have two different methods than one method with a keyword argument that selects the behavior." Quindi la soluzione che proporrei oggi sarebbe: def modify_signature_id(content, signature): < fa qualcosa> def modify_signature_name(content, signature): <fa qualcosaltro> Tanto chi chiama la funzione sa se se ha a disposizione un id o un name. Ciao -- Daniele www.fugamatematica.blogspot.com giusto! nel verso forse è perché non guardiamo le cose Quando non ci capiamo, _______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python