为什么PyCharm在键入两个类的并集时找不到引用



PyCharm突出显示:"在‘Foo|Bar’中找不到引用‘object_var’

"class_var"没有突出显示。代码运行正常,没有错误。

from typing import Union, Type

class Foo:
class_var = "fo"
def __init__(self):
self.object_var = "o"

class Bar:
class_var = "ba"
def __init__(self):
self.object_var = "r"

def foo_bar(file_object: Union[Type[Foo], Type[Bar]]):
class_var = file_object.class_var
object_var = file_object.object_var
return class_var, object_var

带有突出显示部分的代码

Type[Foo]描述了继承FooFoo本身的类定义,此声明与实例无关,请参阅https://www.python.org/dev/peps/pep-0484/#the-类对象的类型。

由于object_var在这两种情况下都是实例变量,PyCharm正确地引发了警告。

foo_bar有什么用途?我想类型提示应该是file_object: Union[Foo, Bar]

相关内容

  • 没有找到相关文章

最新更新