title: Is it possible to use too many functions in Python?
body: <p>This kind of a broad question.</p>
  
  <p>As I find myself having to write longer and longer scripts, I find that my instinct is to break everything up into bite-sized functions; however, this ultimately results in functions calling functions calling functions calling functions.... and I'm wondering if I'm completely thinking about this the wrong way.</p>
  
  <p>Here's what an abridged script might look like. Sorry it's kind of contrived.</p>
  
  <pre><code>def simple_task_1():
      return
  
  def simple_task_2():
      return
  
  def simple_task_3():
      return
  
  def simple_task_4():
      return
  
  def complex_task_1():
      simple_task_2()
      simple_task_3()
      simple_task_4()
      return
  
  def startup():
      simple_task_1()
      complex_task_1()
      simple_task_4()
  
  def finish():
      # other function calls
      return
  
  def main():
      startup()
      finish()
  </code></pre>
  
  <p>So, is this the correct way to be using functions? Is there an objective point where you can say you've made too many function calls inside each other? Should I even be making functions for tasks that only end up being done once?</p>