“ ...”在python def中是什么意思

时间:2019-03-17 16:20:13

标签: python function override

这可能是一个非常愚蠢的问题,但我无法理解Python def中的三个点代表什么。我试图理解in对象中deque运算符的成本(来自collections模块),所以我在代码中进行了浏览,这就是我的发现:

img

我认为它们的意思是该方法在调用时将使用“ upper”定义,但是如果我导航到重写的方法,那么即使不是Container类中的抽象方法,我也什么也找不到。仍然不了解in运算符如何在deque对象上工作。

1 个答案:

答案 0 :(得分:0)

您正在查看.pyi存根文件。顾名思义,引用this post时,存根文件仅用于描述接口,而不是内部的实现。因此,Python def中的...实际上意味着此文件只是一个def,您在这里找不到实现。

关于您对in中的deque运营商的成本的疑问,请参考https://wiki.python.org/moin/TimeComplexity

它提到deque在内部表示为双链表,还提到in的{​​{1}}运算符具有O(n)复杂度。我认为这不是一个双向链表会改变时间复杂度,因为您仍然需要遍历每个元素,即O(n)。