title: If dict(a=1) is accepted then why not dict(1=1)?
body: <p>I have started learning Python 3 and came across dictionaries topic.</p>
  <p>For example, dictionaries can be created using <code>dict</code> keyword, like:</p>
  <pre><code>&gt;&gt;&gt; exp=dict(a=2,b=5,c=8)
  &gt;&gt;&gt; exp
  {'a': 2, 'b': 5, 'c': 8}
  </code></pre>
  <p>But, when I try the same with integers as keys, it is returning errors.</p>
  <pre><code>&gt;&gt;&gt; exp=dict(1=2, 2=3)
  File &quot;&lt;stdin&gt;&quot;, line 1
  SyntaxError: keyword can't be an expression
  </code></pre>
  <p>Then I tried just using curly braces, it worked fine</p>
  <pre><code>&gt;&gt;&gt; exp = {1:2,2:3}
  &gt;&gt;&gt; exp
  {1: 2, 2: 3}
  </code></pre>
  <p>May I know why is this happening?</p>