簡體   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