Classes



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 23/02/2011 at 07:38, xxxxxxxx wrote:

    Hi there,

    i created a class for several calculation. But there is a problem and I can't fiure it out. :(

    import c4d  
    import math  
      
    class distr_functions() :  
      def __init__(self) :  
          pass  
      def CalcLin(x,xmax) :  
          return x/xmax  
      def CalcPot(x,xmax) :  
          return math.pow(x/xmax,2)  
      def CalcExp(x,xmax,strength = 200) :  
          return math.pow(strength,x/xmax)/strength  
      def CalcCos(x,xmax,puls = 1) :  
          return (-0.5)*math.cos(x/xmax*pi*puls)+0.5  
      def CalcSwitch(x,xmax,switch,third = 1) :  
          if switch == 0:  
              return self.CalcLin(x,xmax)  
          elif switch == 1:  
              return self.CalcPot(x,xmax)  
          elif switch == 2:  
              return self.CalcExp(x,xmax,third)  
          elif switch == 3:  
              return self.CalcCos(x,xmax,third)  
          else: return  
      
      
    def main() :  
      df = distr_functions()  
      print df.CalcLin(4,4)  
      
    if __name__ == "__main__":  
      main()  
    

    The console tells me:

    CalcLin() takes exactly 2 arguments, 3 given
    

    But it works perfectly if i don't put these functions into a class.
    What did i wrong in defining the class ?

    And can i import a module for a class , like for eg the math module ?

    Thanks, nux



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 23/02/2011 at 14:06, xxxxxxxx wrote:

    Hi, you forgot the 'self' reference:

    def CalcLin(self,x,xmax) :

    Cheers, Sebastian


Log in to reply