python限定参数类型为list报错

class Solution:
    def isValidSudoku(self, board: List[List[str]]) -> bool:
    return False
阅读 7.6k
2 个回答

在文件开始加入

from typing import List

我猜你是想用函数注解来限定参数类型吧!
如果我没记错的话,函数注解应该是不能用来限定的参数类型的
Python3提供了一种句法,用于为函数声明中的参数和返回值附加元数据——函数注解

函数注解不会做任何处理,只是存储在函数的__annotations__属性(一个字典)中:

>>> from typing import List # 借用一楼的答案
>>> class Solution:
>>>     def isValidSudoku(self, board: List[List[str]]) -> bool:
>>>         return False
>>>
>>> Solution.isValidSudoku.__annotations__
{'board': typing.List[typing.List[str]], 'return': <class 'bool'>}

python3对函数注解所做的唯一事情是,把它们存贮在函数的__annotations__属性里,仅此而已,不做检查,不做强制,不做验证,就是对解释器没有任何意义。
额……
虽然函数注解只是元数据,但是可以供IDE,框架和装饰器等工具使用......

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题