了解python中的“ self”关键字

时间:2019-03-25 23:37:31

标签: python hashmap jupyter-notebook

以下源代码充当HashTable的“天真”实现。这绝不是一个很好的实现,但是它证明了我的关注: enter image description here

经过测试,此代码可用于预期的目的。我不了解包含方法的工作方式。如果密钥在self.buckets中,则“ _ = self [key]”行可以毫无问题地执行。据我了解,该行应为“ _ = self.buckets [key]”。为什么self [key]可以正常工作? self [key]如何表明我们正在从self.buckets中检索项目?

1 个答案:

答案 0 :(得分:2)

self[key]部分正在使用在其上方定义的__getitem__方法,该方法本身就是self.buckets[...]的包装。因此它使用的是self.buckets,只删除了一个步骤。

语法self[key]基本上是Hashtable.__getitem__(self, key)的缩写,其中self是您的Hashtable实例。