1

评估条件时是否可以将运算符包含在变量中。像这样:

>>> one = 1
>>> two = 2
>>> lessthan = '<'

>>> if one lessthan two: print 'yes'

有没有办法在表达式期间返回变量?我也尝试通过函数返回它。

def operator(op):
    return op

if one operator(lessthan) two: print 'yes'

非常感谢,

4

1 回答 1

2

你可以使用operator

import operator

lessthan = operator.lt

one = 1
two = 2

if lessthan(one, two):
    print 'yes'

您还可以在字符串和操作之间进行映射:

operators = {
    '<': operator.lt,
    '>': operator.gt,
    '>=': operator.ge,
    '<=': operator.le,
}

然后调用函数:

>>> operators['<'](123, 456)
True
于 2012-12-12T01:00:59.490 回答