title: When should I be using classes in Python?
body: <p>I have been programming in python for about two years; mostly data stuff (pandas, mpl, numpy), but also automation scripts and small web apps.  I'm trying to become a better programmer and increase my python knowledge and one of the things that bothers me is that I have never used a class (outside of copying random flask code for small web apps).  I generally understand what they are, but I can't seem to wrap my head around why I would need them over a simple function.  </p>
  
  <p>To add specificity to my question: I write tons of automated reports which always involve pulling data from multiple data sources (mongo, sql, postgres, apis), performing a lot or a little data munging and formatting, writing the data to csv/excel/html, send it out in an email.  The scripts range from ~250 lines to ~600 lines.  Would there be any reason for me to use classes to do this and why? </p>