Ho una funzione Python che accetta diversi argomenti. Alcuni di questi argomenti potrebbero essere omessi in alcuni scenari.
def some_function (self, a, b, c, d = None, e = None, f = None, g = None, h = None):
#code
Gli argomenti dattraverso hsono stringhe che hanno ognuna significati diversi. È importante poter scegliere quali parametri opzionali passare in qualsiasi combinazione. Ad esempio,, (a, b, C, d, e)oppure (a, b, C, g, h), oppure (a, b, C, d, e, foppure tutti (queste sono le mie scelte).
Sarebbe bello se potessi sovraccaricare la funzione, ma ho letto che Python non supporta il sovraccarico. Ho provato a inserire alcuni degli argomenti int richiesti nell'elenco e ho riscontrato un errore di mancata corrispondenza dell'argomento.
In questo momento sto inviando stringhe vuote al posto dei primi pochi argomenti mancanti come segnaposto. Vorrei poter chiamare una funzione usando solo i valori reali.
C'è un modo per fare questo? Posso passare un elenco anziché l'elenco degli argomenti?
In questo momento il prototipo che utilizza i tipi è simile a:
_fdll.some_function.argtypes = [c_void_p, c_char_p, c_int, c_char_p, c_char_p, c_char_p, c_char_p, c_char_p]