最近在学习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找到了。
![](https://pic3.zhimg.com/80/v2-b4e4d2118b0de6f45af3c96af05a7f59_hd.png)
在知乎也发现有个说明。
总结一下:
1.省略号在python里也是个对象。
2.=...(赋值号后面省略号),给该变量赋值一个default值。具体python的机制我不清楚。应该是在类里面定义好的。
3.: ...(冒号后面省略号),表示函数的定义内容不写了。