title: Python PEP: blank line after function definition?
body: <p>I can't find any PEP reference to this detail. There has to be a blank line after function definition?</p>
  
  <p>Should I do this:</p>
  
  <pre><code>def hello_function():
      return 'hello'
  </code></pre>
  
  <p>or shoud I do this:</p>
  
  <pre><code>def hello_function():
  
      return 'hello'
  </code></pre>
  
  <p>The same question applies when docstrings are used:</p>
  
  <p>this:</p>
  
  <pre><code>def hello_function():
      """
      Important function
      """
      return 'hello'
  </code></pre>
  
  <p>or this</p>
  
  <pre><code>def hello_function():
      """
      Important function
      """
  
      return 'hello'
  </code></pre>
  
  <p><strong>EDIT</strong></p>
  
  <p>This is what the PEP says on the blank lines, as commented by FoxMaSk, but it does not say anything on this detail.</p>
  
  <blockquote>
    <p>Blank Lines</p>
    
    <p>Separate top-level function and class definitions with two blank
    lines.</p>
    
    <p>Method definitions inside a class are separated by a single blank
    line.</p>
    
    <p>Extra blank lines may be used (sparingly) to separate groups of
    related functions. Blank lines may be omitted between a bunch of
    related one-liners (e.g. a set of dummy implementations).</p>
    
    <p>Use blank lines in functions, sparingly, to indicate logical sections.</p>
    
    <p>Python accepts the control-L (i.e. ^L) form feed character as
    whitespace; Many tools treat these characters as page separators, so
    you may use them to separate pages of related sections of your file.
    Note, some editors and web-based code viewers may not recognize
    control-L as a form feed and will show another glyph in its place.</p>
  </blockquote>