如何从python中的模块`operator`获取数学运算符字符串

以operator.add为例:

>>>import operator as op
>>>op.add(1,2)       #means 1 + 2
3
>>>op.add.__name__
'add'

我想要的是:

>>>op.add.math_str
"+"

我可以获得所有那些数学字符串“”,“ – ”,“>”…模块运算符支持运行时?

编辑:

>>> [eval(x) for x in [".".join(("op",x,"__doc__")) for x in dir(op)]]
['abs(a) -- Same as abs(a).',
 'add(a, b) -- Same as a + b.',
 'and_(a, b) -- Same as a & b.',
 'concat(a, b) -- Same as a + b, for a and b sequences.',
 'contains(a, b) -- Same as b in a (note reversed operands).',
 'delitem(a, b) -- Same as del a[b].',
 'delslice(a, b, c) -- Same as del a[b:c].',
 'div(a, b) -- Same as a / b when __future__.division is not in effect.',
 'str(object) -> string\n\nReturn a nice string representation of the object.\nIf the argument is a string, the return value is the same object.',

上面的代码可以列出大多数运算符字符串,这是否意味着我可以用re模块列出字符串?

谢谢!

解决方法:

不.建立你自己的字典.

上一篇:JavaScript二元运算符


下一篇:c – 如何实现在实例之前可用的运算符(前置位置)