title: What is the difference between None and boolean (True, False) in python's default argument values?
body: <p>In function definitions, one can define a boolean default argument's values as <code>argument=None</code> or <code>argument=False</code>.</p>
  
  <p>An example from pandas concat:</p>
  
  <pre><code>def concat(
      objs,
      axis=0,
      join="outer",
      join_axes=None,
      ignore_index=False,
      keys=None,
      levels=None,
      names=None,
      verify_integrity=False,
      sort=None,
      copy=True,
  ):
  
  </code></pre>
  
  <p>While both usages can be found, why would one be using one over the other? </p>
  
  <p>Is there any PEP on this?</p>