как получить строки математических операторов из модуля `operator` в python - PullRequest
3 голосов
/ 13 июня 2011

Взять operator.add, например:

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

Я хочу вроде:

>>>op.add.math_str
"+"

Могу ли я получить все эти математические строки "+", "-", ">"... модуль operator поддерживаемая среда выполнения?

EDIT:

>>> [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?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 13 июня 2011

Вы можете использовать следующую таблицу из учебника , чтобы создать свой собственный словарь сопоставлений только один раз, а затем просто использовать его всякий раз, когда он вам понадобится.

2 голосов
/ 13 июня 2011

Нет. Создайте свой собственный словарь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...