title: Can I set a function as a default argument?
body: <p>I have recently found out that a function can be used like this:</p>
  
  <pre><code>def func():
      print("Hello World!")
  
  
  def run_func(name_of_func):
      name_of_func()
  
  
  run_func(func)  # Prints "Hello World!"
  </code></pre>
  
  <p>A function name is used as an argument. So my question is if a default argument can be used in this situation. More specifically, if <code>run_func()</code> is called without an argument, can there be a default argument so my program outputs nothing and ends without raising an error?</p>
  
  <p>There are similar functions like this for scheduling a function and looping it. However, when the function is called, an argument must be put in or it will result in an error (basically there is no default argument).</p>