传递 !, !=, ~, <, > 作为参数

Pass !, !=, ~, <, > as parameters

我希望能够像这样传递参数:

fn(a>=b) or fn(a!=b)

我在 Django ORM 和 SQLAlchemy 中看到了这种行为,但我不知道如何实现它。

ORM 在 类 上使用 special methods 用于 ab 以挂接到运算符并自定义生成的内容。

>=object.__ge__() method, while != calls object.__ne__().

处理

通常,ORM 对象用于 a returns 应用了操作的新对象,允许您链接操作,并且 fn() 函数需要这样的 ORM 对象和将从那里读取操作状态。