python中字符串运算符及用法_python将字符串转换为运算符

是否可以在python中将字符串转换为运算符? 我想一个状态传递给函数python将字符串转换为运算符

理想情况下,应该是这样的:

def foo(self, attribute, operator_string, right_value):

left_value = getattr(self, attribute)

if left_value get_operator(operator_string) right_value:

return True

else:

return False

bar.x = 10

bar.foo('x', '>', 10)

[out] False

bar.foo('x', '>=', 10)

[out] True

我可以做一本字典,其中键是字符串和值的操作模块的功能。 我会稍微改变foo的定义:

operator_dict = {'>', operator.lt,

'>=', operator.le}

def foo(self, attribute, operator_string, right_value):

left_value = getattr(self, attribute)

operator_func = operator_dict[operator_string]

if operator_func(left_value, right_value):

return True

else:

return False

这意味着我必须让这本词典,但是否真的有必要吗?

2011-02-25

Ben2209

+0

只要你有一个可管理的操作集,一个字典就好了。 –