繁体   English   中英

类型错误:f3() 需要 2 个位置参数,但给出了 3 个

[英]TypeError: f3() takes 2 positional arguments but 3 were given

这是我考试中的问题,我不明白为什么它以 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)

疯狂的考试问题。

最好的方法是解决这个问题,调用函数并在执行过程中替换结果中的参数:

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

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

好消息是错误消息是正确的,即使调用是通过参数进行的,所以是的,它可能会令人困惑。

暂无
暂无

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

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