最近在学习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的机制我不清楚。应该是在类里面定义好的。