这可能是一个非常愚蠢的问题,但我无法理解Python def
中的三个点代表什么。我试图理解in
对象中deque
运算符的成本(来自collections
模块),所以我在代码中进行了浏览,这就是我的发现:
我认为它们的意思是该方法在调用时将使用“ upper”定义,但是如果我导航到重写的方法,那么即使不是Container
类中的抽象方法,我也什么也找不到。仍然不了解in
运算符如何在deque
对象上工作。
答案 0 :(得分:0)
您正在查看.pyi存根文件。顾名思义,引用this post时,存根文件仅用于描述接口,而不是内部的实现。因此,Python def中的...
实际上意味着此文件只是一个def,您在这里找不到实现。
关于您对in
中的deque
运营商的成本的疑问,请参考https://wiki.python.org/moin/TimeComplexity
它提到deque
在内部表示为双链表,还提到in
的{{1}}运算符具有O(n)复杂度。我认为这不是一个双向链表会改变时间复杂度,因为您仍然需要遍历每个元素,即O(n)。