微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决复制所有函数输入的pythonic方式

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

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(*inputs):
    inputs_new = copy.copy(inputs)

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

,

试试这个:

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增加数

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。