是否有標準的方法來切換參數傳遞到函數的順序?在一個函數中切換兩個參數的順序
例如,
def verse_maker(sent1, sent2):
do stuff
verse_maker(arg1, arg2)
開關等參數的立場,即:
verse_maker(arg2, arg1)
編輯:我的意思是說,無需手動再次調用該函數。我希望函數能夠在這兩個不同的配置中運行兩次參數。
是否有標準的方法來切換參數傳遞到函數的順序?在一個函數中切換兩個參數的順序
例如,
def verse_maker(sent1, sent2):
do stuff
verse_maker(arg1, arg2)
開關等參數的立場,即:
verse_maker(arg2, arg1)
編輯:我的意思是說,無需手動再次調用該函數。我希望函數能夠在這兩個不同的配置中運行兩次參數。
你應該能夠做到:
def verse_maker(sent1, sent2):
do stuff
verse_maker(sent2=arg2, sent1=arg1)
但我不明白爲什麼你不只是換周圍的ARGS?它更短
編輯:看到你的編輯,我不完全確定你在說什麼,你希望代碼運行兩次而不需要調用兩次?我猜你可以在代碼中放置一個循環,這樣它會運行2次,並在第一次循環結束時交換參數?
編輯2:所以這是什麼,我相信你正在尋找
def verse_maker(sent1, sent2):
for i in range(2):
do stuff
sent2, sent1 = sent1, sent2
這將在循環結束掉的變量,並重新用交換變量
當我運行代碼在評論中提到,恕我直言,解決方案提供了工作,但它具有將循環放入函數本身的副作用。我想建議,而不是
def verse_maker(sent1, sent2):
do stuff
for i in range(0,2):
verse_maker(arg1, arg2)
arg1, arg2 = arg2, arg1
我只是把循環出功能,並把它放在我們調用它的地方。這樣,我們稱這個函數有多少次無關緊要。它將始終產生所需的結果。
是的。交換函數中參數的順序。我在這裏錯過了什麼嗎? – scotty3785
我不認爲這裏有比你在這裏寫的方式更簡單的方法嗎?..我不希望你的程序正常工作,但是你想達到什麼目的? – Sayse
不,沒有標準的方法來調用交換順序的函數兩次。 –