问题及解决
在学习算法过程中,看到了类似如下代码:
class Solution:
def fun_1(self, nums: List[int]) -> List[int]:
pass
将代码复制下来运行,还会报如下错误:
NameError: name ‘List‘ is not defined
先说解决方案,在代码上方引入typing:
from typing import List
-> List[int]是什么样的语法
其中def fun_1(self, nums: List[int]) -> List[int]:
比较疑惑,查了查资料,发现这叫类型提示,3.5版本的新语法。
Python 运行时不强制执行函数和变量类型注解,但这些注解可用于类型检查器、IDE、静态检查器等第三方工具。
也就是说你写错了也不会影响程序运行,但是当然不建议这么做。
此模块为运行时提供类型提示支持。最基本的支持类型包括Any、Union、Callable、TypeVar和Generic。要获得完整的规范,请参阅PEP 484。
下面的函数接收与返回的都是字符串,注解方式如下:
def greeting(name: str) -> str:
return 'Hello ' + name
greeting
函数中,参数name
的类型是str
,返回类型也是str
。子类型也可以当作参数。
当然相关内容还很多,可以参考官方文档
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/63026.html