title: Variable scopes in Python classes
body: <p>Declaring a variable in a class (outside of a function): all class functions can access it (basically a public variable)</p>
  
  <p>Declaring a variable inside a function inside a class: only that function can access it (it's in that function's scope)</p>
  
  <p>Declaring a variable with <code>self.(variable name)</code> inside a function inside a class: all class functions can access it (how is this different from <code>global (variable name)</code>?)</p>
  
  <p>And since there is no private/protected, everything is public, so everything accessible from inside a class is accessible from outside the class.</p>
  
  <p>Are there any other nuances I should know, or have I pretty much got it?</p>