MST

星途 面试题库

面试题:Python中*args和**kwargs在函数嵌套调用中的应用

假设有两个函数func1和func2,func1接受*args和**kwargs,它需要将接收到的所有参数原封不动地传递给func2,并且func2需要根据接收到的位置参数的个数来返回不同的值:如果位置参数个数为0,返回 '无位置参数';如果位置参数个数为1,返回该位置参数的平方;如果位置参数个数大于1,返回所有位置参数的乘积。请实现这两个函数。
13.6万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
def func2(*args):
    if len(args) == 0:
        return '无位置参数'
    elif len(args) == 1:
        return args[0] ** 2
    else:
        result = 1
        for num in args:
            result *= num
        return result


def func1(*args, **kwargs):
    return func2(*args, **kwargs)