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 に答える