python中的del()vs del语句

Sri*_*vas 4 python python-3.x

>>> li = [1, 2, 3, 4]
>>> li
[1, 2, 3, 4]
>>> del li[2] #case 1
>>> li
[1, 2, 4]
>>> del(li[2])  # case 2
>>> li
[1, 2]
>>> del (li[1]) # case 3
>>> li
[1]
>>>
Run Code Online (Sandbox Code Playgroud)

我的一位教授使用案例2从列表中删除项目.
根据python文档案例1是正确的,并且此答案中还存在另一种语法方式,因此案例3也正确,但据我所知,python中不存在del方法,案例2如何有效.我搜索了整个python文档,但找不到它.

更新: 如果我自己在我的模块中编写del方法并同时使用案例2,python解释器如何区分它们或者它将通过错误,尽管我从未尝试过

Net*_*ave 9

所有这些都是相同的,del是关键字as yieldreturn,并且(list[1])评估为list[1].所以,del(list[1])del (list[1])是相同的.对于基本情况,因为你没有()你需要强制额外的空间,因此del list[1].

编辑:你不能redifine,del因为它是一个语言关键字.