将比较运算符映射到函数调用

Dan*_*man 8 python

我正在构建用于Python中的表单验证的DSL,其中一个要求是能够指定字段应该大于或小于常量或另一个字段值.其结果是,我想运营商轻松地映射像<,>,<=并且>=将在它们的同等功能operator模块,使他们可以现场验证过程中被调用.

我意识到我可以创建一个字典来将操作符映射到函数,但是有更好的方法吗?有没有办法访问Python的内置映射?

jch*_*chl 5

据我所知,没有内置字典将字符串映射">"到函数operator.lt等.

正如其他人所指出的那样,Python解释器本身并没有使用这样的字典,因为解析和执行Python代码的过程将首先将字符序列">"转换为表示该操作符的标记,然后将其转换为字节码,并执行该字节代码将执行的结果__lt__直接方法,而不是通过operator.lt功能.