擅长:python、mysql、java
<p>当我觉得有点太尖刻时,我想出了一个理由</p>
<p>它开始将表达式解析为list/set/tuple,并期望得到一个<code>,</code>而不是一个<code>for</code>标记</p>
<p>例如:</p>
<pre><code>$ python3.6 test.py
File "test.py", line 1
[a, b for a, b in c]
^
SyntaxError: invalid syntax
</code></pre>
<p>标记如下:</p>
<pre><code>$ python3.6 -m tokenize test.py
0,0-0,0: ENCODING 'utf-8'
1,0-1,1: OP '['
1,1-1,2: NAME 'a'
1,2-1,3: OP ','
1,4-1,5: NAME 'b'
1,6-1,9: NAME 'for'
1,10-1,11: NAME 'a'
1,11-1,12: OP ','
1,13-1,14: NAME 'b'
1,15-1,17: NAME 'in'
1,18-1,19: NAME 'c'
1,19-1,20: OP ']'
1,20-1,21: NEWLINE '\n'
2,0-2,0: ENDMARKER ''
</code></pre>