In una funzione, voglio assicurarmi che gli argomenti aeb abbiano la stessa lunghezza. Voglio sollevare un'eccezione per questo se non rispettato. So che ValueError è per un'eccezione in cui un argomento in sé non soddisfa alcuni criteri particolari. ValueError è un errore appropriato da sollevare in questo caso in cui i criteri sono tra argomenti? In caso contrario, qualsiasi eccezione Python standard più appropriata?ValueError è un'eccezione appropriata da sollevare se l'utente passa argomenti di lunghezze diverse, il che significa essere uguali?
def func(a, b):
if len(a) != len(b):
raise ValueError("list a and list b must have the same length")
si può semplicemente restituire dichiarando che gli elenchi devono essere della stessa lunghezza –
Sì, direi che "ValoreErrore" è la scelta appropriata; la tua attuale implementazione va bene. – jonrsharpe
E per coloro che sono tentati di suggerire di usare 'assert' /' AssertionError', vedi http://stackoverflow.com/questions/944592/best-practice-for-python-assert –