假设我在Python文件中经常使用这段代码
if x == 1:
x += 1
else:
x -= 1
有没有办法“复制”这段代码,这样我就不必在整个文件中重复输入这四行了?
答案 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