此函数声明中-> List [int]的含义是什么?

时间:2019-06-08 11:42:19

标签: python-3.x

我想了解此函数的声明:{showEvent()}

我已经学习了python的基础知识,而且之前从未见过像这样的函数声明

->List[int]:

2 个答案:

答案 0 :(得分:2)

这是所谓的“类型提示”(或“函数注释”;自Python 3.0起可用)。

  • -> List[int]表示该函数应返回整数列表。
  • nums: List[int], target: int表示nums应该是整数列表,target应该是整数。

但这并不是一个硬性要求,例如,您仍然可以使用传递给这些参数的不同类型的对象来调用该函数,并且该函数还可以返回不同于整数列表的某些内容(不同于Java等其他语言,提供错误的类型会导致编译错误)。换句话说:类型提示与程序执行无关,它们在运行时会被忽略(忽略类型提示只是默认行为,但是它们可以在运行时通过__annotations__使用,因此您可以< / em>与他们做点事情。

类型提示可以表达作者的意图,并且可以在程序执行之前通过mypy之类的工具进行检查(这些检查可以检查例如,仅使用正确类型的参数调用函数并返回正确的内容)类型)。

请注意,List在标准名称空间中不可用(与list不同),但是需要从typing导入,而

  • 为标准类型提供其他类型,例如SetDictTupleCallable等。
  • 允许定义自己的类型
  • 提供其他类型的类型化版本,例如NamedTuple而不是namedtuple

答案 1 :(得分:0)

这是3.5版中的新功能。您可以查看文档。
https://docs.python.org/3.5/library/typing.html