使用特定数据类型的函数声明

Function Declaration using specific datatypes

def StrongestNeighbour(neighbours: list[int])-> list[int]:

这种函数声明只在我的 vs 代码中有效,但在 spyder 中无效。这是什么问题。

Spyder 可能是 运行 Python 版本 <3.9+,VSCode 是 Python >=3.9+

问题是在 Python 3.9 之前,对于像您显示的类型提示,语法有点不同:

from typing import List

def strongestNeighbour(neighbours: List[int]) -> List[int]:
    return neighbours

strongestNeighbour([1,2,3,4])

注意从 typing 模块导入和大写 L

您可以查看 Python 3.8 键入文档以获取有关导入和整体语法的更多信息:https://docs.python.org/3.8/library/typing.html

但是,如果您使用 Python 3.9,那么您可以使用现有的 list[int] 语法。您可以查看 Python 3.9 打字文档以获取更多信息:https://docs.python.org/3.9/library/typing.html