Use of colon in variable declaration : <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'd never seen that before.  I checked the docs and there isn't anything like that.  One person's 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>So I come here to collect the wisdom of the many SO overlords.  What does that mean?</p>
