繁体   English   中英

如何更改可变参数函数体中的 python 可变参数?

[英]how can I change python variadic arguments in variadic function body?

c++ variadic function一样,我想用 python 实现相同的操作。

def variadic_function(*args):
    '''
    This is a variadic function.
    args might be opencv mat(numpy array) with 1 or 3 channel(s).
    '''
    for arg in args:
        arg = 255 - arg
        ...
    return args

当我用 opencv 图像作为参数调用它时

image_1 = cv2.imread(image_path_1)
image_2 = cv2.imread(image_path_2)
image_3, image_4 = variadic_function(image_1, image_2)

image_3 和 image_4 等于 image_1 和 image_2 但没有 for 循环中的数学运算。 我知道这应该是一个就地操作来实现这一点。 我的问题是,当 args 列表没有就地操作时,我该怎么做? 谢谢。

    def variadic_function(*args):    
        arg_list = []
        for arg in args:
            arg = 255 - arg
            arg_list.append(arg)
        return arg_list

无论如何,我是这样做的。 或者我们可以强制 args 为 dict 类型,事情变得更糟,代码变得丑陋。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM