title: Use of colon in variable declaration
body: <p>I was asked recently what this means in Python:</p>
  <p><code>&gt;&gt;&gt; char : str</code></p>
  <p>I had no idea. I checked the docs and there isn't anything like that.  One suggestion was that it is static type declaration, but there is absolutely nothing in the docs about that either.</p>
  <p>With the above, if I
  <code>&gt;&gt;&gt; type(char)</code> it fails</p>
  <p>If I <code>&gt;&gt;&gt; char : str = 'abc'</code> it works, and the results of type(char) is <code>&lt;class: str&gt;</code>.  It can't be static declaration though, because I can <code>&gt;&gt;&gt; char : str = 4</code> and type(char) becomes <code>&lt;class: int&gt;</code>.</p>
  <p>What does that mean?</p>