Is it possible to use too many functions in Python?
<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>
