是否有一种标准方法可以切换参数传递给函数的顺序?
例如
def verse_maker(sent1, sent2):
do stuff
verse_maker(arg1, arg2)
切换参数的位置,以便:
verse_maker(arg2, arg1)
编辑:我的意思是说,无需再次手动调用该函数。我希望函数在这两种不同的配置中使用参数运行两次。
答案 0 :(得分:3)
你应该可以这样做:
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
这将在循环结束时交换变量,并重新运行带有交换变量的代码
答案 1 :(得分:1)
正如我在评论中提到的,恕我直言提供的解决方案有效,但它具有将循环置于函数本身内的副作用。我想建议这样做
def verse_maker(sent1, sent2):
do stuff
for i in range(0,2):
verse_maker(arg1, arg2)
arg1, arg2 = arg2, arg1
我刚刚从函数中取出循环并将其放在我们调用它的位置。这样,我们称这个函数多少次都没关系。它总会产生预期的结果。