zoukankan      html  css  js  c++  java
  • 学习Python调用方法中遇到的问题

    我先写了如下代码
    class Fi:
      def Fibo(n):
        if n==1 or n==2:
          return 1
        if n>2:
          return Fibo(n-1)+Fibo(n-2)
    f = Fi()
    
    print(f.Fibo(10))
     
    报错:TypeError: Fibo() takes 1 positional argument but 2 were given
    查了之后发现通过对象调用的方法会先把自己传进去,即Fibo(f,10)。但是定义的Fibo(n)中只有一个参数。所以为了顺利传参,应该做以下修改:
    class Fi:
      def Fibo(self,n):
        if n==1 or n==2:
          return 1
        if n>2:
          return self.Fibo(n-1)+self.Fibo(n-2)
    f = Fi()
    print(f.Fibo(10))

    self在调用的时候也意味着将自身之传给Fibo参数。加油,希望自己可以越来越专业

  • 相关阅读:
    MySQl的绑定变量特性
    数数 / DP
    MODE
    题单
    对拍
    二、图论
    sync_with_stdio(false)的副作用
    九大编程语言
    Codeforces Round #575 (Div. 3) A B C
    Educational Codeforces Round 69 (Rated for Div. 2) A B C D
  • 原文地址:https://www.cnblogs.com/Q-lucia/p/9126176.html
Copyright © 2011-2022 走看看