擅长:python、mysql、java
<p>在Python3中,数字不允许前导零。E、 克:</p>
<pre><code>05
0123
</code></pre>
<p>不允许使用Etc,但应改为<code>5</code>和<code>123</code>。</p>
<p>然而,在Python 2中,前导零表示数字是一个<em>八进制数</em>(基数为8),因此<code>04</code>或<code>03</code>分别表示<code>4</code>和<code>3</code>八进制数,但<code>08</code>无效,因为它不是有效的八进制数。</p>
<p>在Python 3中,八进制的语法更改为:</p>
<pre><code>0o10
0o4
</code></pre>
<p>(以及允许使用<code>0b</code>或<code>0x</code>前缀的其他基数,如二进制和十六进制)</p>
<p>至于您的另一个问题,Python中的一个标记是Python解释器将代码分成块的方式,以便它能够理解它(请参见<a href="https://en.wikibooks.org/wiki/Compiler_Construction/Lexical_analysis" rel="noreferrer">here</a>)。在这里,当标记器试图分割代码时,它不希望在那里看到零,因此抛出一个错误。</p>
<p>我建议(类似于其他答案)去掉前导零(<code>(2016,4,3)</code>)或使用字符串(<code>("2016","04","03")</code>)表示它们。</p>