复制所有函数输入的pythonic方式

pythonic way to copy all function inputs

我正在寻找一种更优雅的方式来避免出现以下情况:

def funct(input1, input2, input3, input4, input5):
   input1_new = copy.copy(input1)
   input2_new = copy.copy(input2)
   input3_new = copy.copy(input3)
   input4_new = copy.copy(input4)
   input5_new = copy.copy(input5)

因为我目前有很多文件,使用了非常广泛的函数,我想知道是否没有更多的 pythonic 方法来复制函数中给定的所有输入。

因为栈和堆的问题,我正在复制

谢谢!

试试这个:

def funct(input1, input2, input3, input4, input5):
   for i in range(1,100):
       exec(f"input{i}_new = f'Hi input{i}'")
       exec(f'print(input{i}_new)')

这将打印 'input1' ... 'input99'。同样的,可以使用exec增加number

您可以在函数的参数定义中使用 * 来一次接收所有输入。

def funct(*inputs):
    inputs_new = copy.copy(inputs)

这样您将收到 inputs 元组中的所有输入,并且您可以迭代访问它们。例如,inputs[0] 将是您的 input1