0

如何输入提示函数可能返回值或不返回任何内容?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所有不需要它的子类是多余的,我想避免这种情况。

4

1 回答 1

1

这样做的正确方法是什么?

恕我 直言,如果您的函数有时会返回数据(由Optional[Dict]return None

我认为 PyCharm 假设如果您指示(有时)不是 None 返回类型并且您有一个没有明确返回的分支,那么您可能犯了一个错误。不幸的是,我无法使用 PyCharm 文档来支持这一点。

于 2021-09-19T13:49:32.790 回答