title: Python, can someone explain why the return statement only prints the first object?
body: <p>I have been practising python and have a small question. I am working with DNA sequences and so I simply wanted to make a small function that just returned the record.ids.</p>
  
  <pre><code>from Bio import AlignIO
  my_alignment = Align.IO.read("multipleseqfile.fa","fasta")
  
  def get_id_names(alignment):
      for record in alignment:
          return record.id 
  
  print get_id_names(my_alignment)
  </code></pre>
  
  <p>I had done a for loop before that prints the names nicely but I wanted to improve my script and make these exercises into functions. However, when I use this function, it only returns the first record id (and there is a list of 30-40). I switched the return record.id to print record.id, and it does print all the names but then I get a None at the end of the output. Not sure what is going on here?</p>