title: How to take less than the required number of positional arguments in python?
body: <p>I'm testing a skeleton for a program in python that evaluates times given in the form (hh, mm, ss, zz) where hh is hours, mm is minutes, ss is seconds, and zz is the difference from UTC. Basically, for the <strong>init</strong> function, I would like to be able to evaluate inputs in the console and pass them regardless of whether or not they have the correct amount of positional arguments. Here is my code: </p>
  
  <pre><code>class Time(object):
      def __init__(self, hh, mm, ss, zz):
      '''takes initial time values'''
      pass
  </code></pre>
  
  <p>Currently, the program will take variables typed into the console with the appropriate amount of variables like so:</p>
  
  <pre><code>A = times.Time(1, 2, 3, 4)
  </code></pre>
  
  <p>But will give a TypeError with <strong>init</strong>() missing required positional arguments with these:</p>
  
  <pre><code>B = times.Time(1,2,3)
  C = times.Time(1,2)
  </code></pre>
  
  <p>Is there a way to allow these to pass?</p>