最近在學習tensorflow object detection API的源碼,研究以下faster RCNN的實現。閱讀到含有省略號的代碼。不是很理解什么意思。
C:\Program Files\JetBrains\PyCharm Community Edition 2019.1.1\helpers\typeshed\stdlib\3\collections (__init__.pyi)
# namedtuple is special-cased in the type checker; the initializer is ignored. if sys.version_info >= (3, 7): def namedtuple(typename: str, field_names: Union[str, Iterable[str]], *, rename: bool = ..., module: Optional[str] = ..., defaults: Optional[Iterable[Any]] = ...) -> Type[tuple]: ... elif sys.version_info >= (3, 6): def namedtuple(typename: str, field_names: Union[str, Iterable[str]], *, verbose: bool = ..., rename: bool = ..., module: Optional[str] = ...) -> Type[tuple]: ... else: def namedtuple(typename: str, field_names: Union[str, Iterable[str]], verbose: bool = ..., rename: bool = ...) -> Type[tuple]: ...
我本人沒有系統學過python,網上找了一圈,最后在Quora找到了。

在知乎也發現有個說明。
總結一下:
1.省略號在python里也是個對象。
2.=...(賦值號后面省略號),給該變量賦值一個default值。具體python的機制我不清楚。應該是在類里面定義好的。
3.: ...(冒號后面省略號),表示函數的定義內容不寫了。