voglio essere in grado di passare gli argomenti come questo:!!Pass, =, ~, <, > come parametri
fn(a>=b) or fn(a!=b)
ho visto questo comportamento in DjangoORM e SQLAlchemy, ma non so come raggiungerlo .
voglio essere in grado di passare gli argomenti come questo:!!Pass, =, ~, <, > come parametri
fn(a>=b) or fn(a!=b)
ho visto questo comportamento in DjangoORM e SQLAlchemy, ma non so come raggiungerlo .
Gli ORM utilizzano special methods su classi per a
e b
per agganciare operatori e personalizzare ciò che viene prodotto.
>=
per è gestito dallo object.__ge__()
method, mentre !=
chiamate object.__ne__()
.
In genere, l'oggetto ORM utilizzato per a
restituisce un nuovo oggetto con l'operazione applicata, consentendo di eseguire operazioni concatenate e la funzione fn()
prevede un tale oggetto ORM e leggerà lo stato dell'operazione da lì.
Non è proprio quello che stai chiedendo, ma nel caso generale puoi passare ad es. 'operator.ne' (per'! = ') e' operator.gt' (per '>') intorno – jonrsharpe