【问题标题】:What does "..." means in a python def“...”在python def中是什么意思
【发布时间】:2019-08-08 02:27:47
【问题描述】:

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

我认为他们的意思是该方法在调用时将使用“上层”定义,但如果我导航到被覆盖的方法,如果不是 Container 类中的抽象方法,我什么也找不到。所以我仍然不'不知道in 操作符如何作用于deque 对象。

【问题讨论】:

  • 关于“...”和.pyi文件,参考stackoverflow.com/q/41734836
  • @RegisterSole 在那个问题中没有关于... 的内容。
  • @Barmar 根据那里的答案,一个 .pyi 文件描述了模块的接口没有任何实现。因此,... 在普通文本中实际上意味着 ...。也就是因为不相关而故意省略了文本的一部分。

标签: python function overriding


【解决方案1】:

您正在查看一个 .pyi 存根文件。参考this post,存根文件,顾名思义,只是用来描述接口而不是里面的实现。因此,Python def 中的... 确实意味着该文件只是一个def,您无法在此处找到实现。

关于dequein运营商费用的问题,请参考https://wiki.python.org/moin/TimeComplexity

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    • 2013-05-20
    相关资源
    最近更新 更多