草庐IT

python - python,del或delattr哪个更好?

这可能很愚蠢,但它已经在我的大脑后部唠叨了一段时间。Python为我们提供了两种从对象中删除属性的内置方法,del命令字和delattr内置函数。我更喜欢delattr因为我认为它更明确:delfoo.bardelattr(foo,"bar")但我想知道它们之间是否存在内在差异。 最佳答案 第一个比第二个更有效。delfoo.bar编译成两条字节码指令:20LOAD_FAST0(foo)3DELETE_ATTR0(bar)而delattr(foo,"bar")需要五个:20LOAD_GLOBAL0(delattr)3LOAD_FAS