繁体   English   中英

如何在 Python 中指定(什么)的方法返回类型列表?

[英]How to specify method return type list of (what) in Python?

假设我有一个如下所示的方法

def validate(self, item:dict, attrs:dict)-> list:

如果我想更具体地告诉我我的返回类型是一个 ValidationMessages 列表?

我应该如何/我能做到这一点吗?

(我会将标记标记为重复项,因为这与扩展列表或展平无关)我问的是如何更具体地识别方法的返回类型......

在 Python 3.6 中,内置的类型包将完成这项工作。

from typing import List

def validate(self, item:dict, attrs:dict)-> List[str]:
    ...

符号有点奇怪,因为它使用括号但效果很好。

编辑:使用新的 3.9 版本的 Python,您可以在不从typing模块导入的情况下注释类型。 唯一的区别是您在typing模块中使用真实的类型名称而不是定义的类型。

def validate(self, item:dict, attrs:dict)-> list[str]:
    ...

注意:类型提示只是帮助 IDE 的提示。 不强制执行这些类型。 您可以将变量的提示添加为str并为它设置一个int ,如下所示:


a:str = 'variable hinted as str'
a = 5  # See, we can set an int 

您的 IDE 会警告您,但您仍然可以运行代码。 因为这些只是提示。 Python 不是类型严格的语言。 相反,它采用动态类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM