Cercando di trovare un modo per ripulire parte del mio codice.Forse "kind-of" monad in python
così ho qualcosa di simile nel mio codice python:
company = None
country = None
person = Person.find(id=12345)
if person is not None: # found
company = Company.find(person.companyId)
if company is not None:
country = Country.find(company.countryId)
return (person, company, country)
aver letto un tutorial su monadi Haskell (in particolare forse), mi chiedevo se è possibile scrivere in un altro modo.
Questa è inequivocabilmente la risposta corretta per questo caso specifico. L'intero scopo di 'Maybe' come monade è di modellare esplicitamente l'approccio EAFP come entità di prima classe. In Python, è sia implicito che idiomatico in questa forma, quindi usalo! –
Purtroppo devo effettivamente "sapere" quale persona o azienda sono None. – drozzy
@drozzy: Se è necessario eseguire in modo condizionale parti di codice diverse in base a quali variabili sono "Nessuna", allora è necessario disporre di condizionali. – katrielalex