为什么del在python中是指令而不是方法?

为什么del在python中是指令而不是方法?,python,Python,为什么python的创建者更喜欢这种语法(指令) 关于这个(方法) 在我看来,del与append、remove、find、e.t.c.属于同一个“cathegory”,因此应该具有相同的语法(作为一种方法),但由于某种原因,python的创建者将其作为指令来实现。他们为什么要这样做?因为del是一个语句,你可以用它删除一些东西,而且当你想删除list\u name[index]使用del实际上,您想要删除一个对象,而这是del为其他对象所做的工作,因此不需要为列表创建冗余属性来执行此操作 删除

为什么python的创建者更喜欢这种语法(指令)

关于这个(方法)


在我看来,
del
append
remove
find
、e.t.c.属于同一个“cathegory”,因此应该具有相同的语法(作为一种方法),但由于某种原因,python的创建者将其作为指令来实现。他们为什么要这样做?

因为
del
是一个语句,你可以用它删除一些东西,而且当你想删除
list\u name[index]
使用
del
实际上,您想要删除一个对象,而这是
del
为其他对象所做的工作,因此不需要为列表创建冗余属性来执行此操作

删除是递归定义的,非常类似于赋值的定义方式。以下是一些提示,而不是详细说明

删除目标列表会从左到右递归地删除每个目标

删除名称将从本地或全局命名空间中删除该名称的绑定,具体取决于该名称是否出现在同一代码块的全局语句中。如果名称未绑定,将引发NameError异常

属性引用、订阅和slicing的删除传递给所涉及的主要对象;删除切片通常相当于分配正确类型的空切片(但即使是这也是由切片对象决定的)


因为您还可以删除类、方法等(例如在monkeypatching中)
del
的用途不仅仅是从
列表中删除项。B) 您可以使用
remove()
方法按名称或使用
pop()
方法按索引从
列表中删除项目。我建议以后多研究相关主题(例如,
del
list
)。@TigerhawkT3是的,我忘记了
pop()
,我的错误。但是如果
pop()
是列表和字典的替代品,他们为什么要保留
del
?@Apero-是的,零研究用户相互投票是一个相当大的问题。由于向上投票比向下投票更具代表性,所以很容易有人“赢”而输。@TigerhawkT3问题是,在大多数书籍和教程中,
del
语句是一种从列表和字典中删除条目的方法,所以我不认为它有更广泛的用途,这就是我提出这个问题的原因。不过,在我看来,你写这篇文章的原因更多的是关于你,而不是关于我的问题。现在我明白了,
del
不仅可以删除列表或词典的元素,还可以删除任何对象,因此只要列表和词典的元素是对象,就没有必要添加更多的方法来删除元素。谢谢你。@IlyaPeterov是的!欢迎光临!更好的问题是,为什么会有一个
del
语句而不是
delete
内置函数?@IlyaPeterov-你可以通过谷歌搜索“python del statement”找到这个基本文档。@Kasramvd-你能提供一个引用文档的链接吗?
del list[index]
list.del(index)