TypeError:f3()接受2个位置参数,但给出了3个

时间:2019-12-23 18:37:56

标签: python-3.x

这是我考试中的问题,我不知道为什么它以TypeError结尾。

    def f1(a,b,f):
        return f(a,b, f)

    def f2(a,b, f):
        return f(a,b,f3)

    def f3(a,b):
        return f3(a,b)

    f1(1,2,f2)

1 个答案:

答案 0 :(得分:0)

疯狂的考试问题。

最好只是解决问题,在运行时调用函数并替换结果中的参数:

f1(1, 2, f2) =
f2(1, 2, f2) =
f2(1, 2, f3) =
f3(1, 2, f3)

这是尝试使用三个参数调用f3的尝试,但是f3的定义是它只需要两个参数。

好消息是,即使调用是通过参数进行的,错误消息也是正确的,因此是的,这可能会造成混淆。