考虑以下内容......
In [1]: del []
In [2]: del {}
File "<ipython-input-2-24ce3265f213>", line 1
SyntaxError: can't delete literal
In [3]: del ""
File "<ipython-input-3-95fcb133aa75>", line 1
SyntaxError: can't delete literal
In [4]: del ["A"]
File "<ipython-input-5-d41e712d0c77>", line 1
SyntaxError: can't delete literal
[]
有什么特别之处?我希望这也会提高SyntaxError
。为什么不呢?我在Python2和Python3中观察到了这种行为。
答案 0 :(得分:13)
del
statement syntax允许target_list
,其中包含变量名称的列表或元组。
一次删除多个名称:
del [a, b, c]
相当于:
del (a, b, c)
或
del a, b, c
但是python没有强制列表实际拥有任何元素。
表达式
del ()
另一方面是语法错误;在这种情况下,()
被视为一个字面上的空元组。