切换函数中两个参数的顺序

2024-10-05 14:25:35 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有标准的方法来切换参数传递到函数的顺序?你知道吗

例如

def verse_maker(sent1, sent2):
    do stuff

verse_maker(arg1, arg2)

切换参数的位置,以便:

verse_maker(arg2, arg1)

edit:我的意思是,无需再次手动调用函数。我希望函数在这两种不同的配置中使用参数运行两次。你知道吗


Tags: 方法函数参数标准顺序defeditdo
2条回答

你应该能够做到:

def verse_maker(sent1, sent2):
  do stuff

verse_maker(sent2=arg2, sent1=arg1)

但我不明白你为什么不简单地交换参数?它要短得多

编辑:看到你的编辑,我不太清楚你在说什么,你想代码运行两次而不调用两次?我想你可以在代码中放一个循环,这样它运行两次,然后在第一个循环结束时交换参数?你知道吗

编辑2:我相信你要找的是

def verse_maker(sent1, sent2):
  for i in range(2):
    do stuff
    sent2, sent1 = sent1, sent2

这将在循环结束时交换变量,并使用交换的变量重新运行代码

正如我在评论中提到的,IMHO提供的解决方案是可行的,但是它的副作用是将循环放在函数本身中。我想提出这个建议

def verse_maker(sent1, sent2):
    do stuff

for i in range(0,2):
    verse_maker(arg1, arg2)
    arg1, arg2 = arg2, arg1

我只是把循环从函数中取出来,放在调用它的地方。这样我们调用这个函数的次数就不重要了。它总是会产生期望的结果。你知道吗

相关问题 更多 >