【发布时间】:2021-02-11 19:00:52
【问题描述】:
如何输入提示函数可能返回值或不返回任何内容? PyCharm 报告了对我来说似乎正确的事情。
def func() -> Optional[Dict]:
当函数没有返回任何东西时,这会导致返回类型上的警告:
Expected to return 'Optional[dict]', got no return
但明确返回 None 有效:
def func() -> Optional[Dict]:
return None
这对 PyCharm 来说没问题。似乎“不归路”的处理方式与 return None 不同,尽管据我了解这两者应该是相同的。
查看所有三个变体的图片:
这样做的正确方法是什么?在我的用例中,该函数是一个类方法,它在子类中的实现将返回None 或一个值。必须在所有不需要它的子类中写 return None 是多余的,我想避免这种情况。
【问题讨论】:
-
“必须在所有不需要它的子类中编写 return None 是多余的,我想避免这种情况。” - 在从不返回任何内容的函数上使用返回提示也是多余的,那么为什么首先使用提示呢?不管怎样,你可以使用
-> None作为类型提示,pycharm 会同意
标签: python pycharm type-hinting python-typing