title: The Arguments in a python class
body: <p>In a class I need to fully understand(know) the arguments and the given while coding in Python,please use the below as an example or any other more complicated. </p>
  
  <pre><code>class Beacon(object):
  
      def __init__(self, name, description):
          self.name = name
          self.description = description
          self.paths = {}
  
      def go(self, direction):
          return self.paths.get(direction)
  
      def add_paths(self, paths): 
          self.paths.update(paths)
  </code></pre>
  
  <p>I may try to cause an error by removing description from</p>
  
  <pre><code>def __init__(self, name):
  </code></pre>
  
  <p>and run a test,What i get is TypeError: init() takes exactly 2 arguments(3 given), please I want to know which ones are the arguments and the given ones here.</p>