title: How can I pass the optional parameter of a namedtuple in a function
body: <pre><code>__author__ = 'mayukhsarkar'
  import collections
  
  
  def search_student(database=None, ID=None):
      flag = False
      try:
          if ID is None or ID == 0:
              raise TypeError
          for each in database:
              if each.id == ID:
                  print 'Student Name: ', each.name
                  flag = True
      except TypeError:
          print 'Provide the arguments properly'
      finally:
          return flag
  
  
  studentDatabase = collections.namedtuple("student", "id name roll_no phone email")
  
  DATABASE = [studentDatabase(1, 'Mayukh Sarkar', 9, '555-2312', 'mayukh2012@hotmail,com'),
          studentDatabase(2, 'Alisha Sengupta', 7, '555-1345', 'alisha@gmail.com')]
  
  if not search_student(DATABASE, 1):
      print "Data not found"
  </code></pre>
  
  <p>In this snippet I want a variable argument option in the function <code>search_student</code> so that if I pass the <code>roll_no</code>, <code>email</code> then if the student of that id is found then only roll &amp; email will be printed along with name. But if I don't pass any argument, then only the name will be printed </p>