假設我在我的Python文件中經常使用的代碼塊重用的特定代碼行
if x == 1:
x += 1
else:
x -= 1
有沒有一種方法來「複製」這個代碼,這樣我就不必鍵入這四個在整個文件中重複行?
假設我在我的Python文件中經常使用的代碼塊重用的特定代碼行
if x == 1:
x += 1
else:
x -= 1
有沒有一種方法來「複製」這個代碼,這樣我就不必鍵入這四個在整個文件中重複行?
是自行定義功能吧:
def flip_member(x):
if x == 1:
x += 1
else:
x -= 1
return x
然後就可以調用從任何地方的功能在你的代碼,而不是重寫相同的邏輯的。
這是無效的Python代碼。 – del
是的,我有時會混淆。糾正。 –
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
正如在其他的答案建議,你可以寫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
或者更短的單線程:
x = x - 1 + (x==1) * 2
你有沒有聽說過一個叫做函數的東西? :) – Curious
作爲初學者,我的+1應該是初學者。 ;) – pepr