我找到了以下代码:
def get_iterator_from_config(config: dict, data: dict):
iterator_config = config['dataset_iterator']
iterator: Union[DataLearningIterator, DataFittingIterator] = from_params(iterator_config,data=data)
return iterator
Run Code Online (Sandbox Code Playgroud)
为什么迭代器有冒号然后有联合?这是否意味着迭代器的类型是联合?为什么不能只使用:
iterator= from_params(iterator_config,data=data)
Run Code Online (Sandbox Code Playgroud)
小智 5
它只是类型提示,用作指示参数可能是什么类型的一种方式。Union[DataLearningIterator, DataFittingIterator]意味着它是 aDataLearningIterator或 a DataFittingIterator。
你是对的,它不需要,但它可能用于可读性,即指示我们期望迭代器的类型。
详情请见:https : //docs.python.org/3/library/typing.html