重用特定的代码行

时间:2012-11-05 06:12:48

标签: python

假设我在Python文件中经常使用这段代码

if x == 1:
  x += 1
else:
  x -= 1

有没有办法“复制”这段代码,这样我就不必在整个文件中重复输入这四行了?

4 个答案:

答案 0 :(得分:4)

是定义自己的功能:

def flip_member(x):
    if x == 1:
        x += 1
    else:
        x -= 1
    return x

然后,您可以从代码中的任何位置调用该函数,而不是重写相同的逻辑。

答案 1 :(得分:1)

如其他答案所示,您可以编写x的函数并将x设置为等于函数的结果。

一些替代方案是以更简单的形式编写表达式:

x = x+1 if x==1 else x-1

以上计算x的新值与问题中的四行代码相同。但是,如果您只想在值1和2之间来回切换x,请注意3-1为2且3-2为1,因此您可以说 - 在1和2之间切换 -

x = 3-x 

答案 2 :(得分:0)

def manipulate(x):
    return x+1 if x==1 else x-1

myVal = 10
myVal = manipulate(myVal)
print myVal
>>> 9

OR:

manipulate = lambda x: x+1 if x==1 else x-1
myVal = manipulate(myVal)
print myVal
>>> 9

答案 3 :(得分:0)

或更短的单行:

x = x - 1 + (x==1) * 2