复制所有函数输入的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
等
我正在寻找一种更优雅的方式来避免出现以下情况:
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
等