Py学习  »  pycharm

Pycharm静态分析不能像我希望的那样推断子类类型

Gautzilla • 1 周前 • 305 次点击  

在下面的python代码中 TruckDriver 类继承自 Driver 类,和 Truck 类继承自 Vehicle 类。

这个 driver 属性 卡车 类是 卡车司机 类型(在类型提示中指定),并传递给 车辆 类(接受一般 司机 类型)。

然而,Pycharm在 卡车 类关于 司机 没有 卡车司机 -具体属性。具体而言,它强调了 company 属性在 print(f"Company: {self.driver.company}") 行,并带有以下警告:

类“Driver”的未解析属性引用“company”

我有办法解决这些警告吗?我在项目中也使用Ruff作为过梁,但在这里似乎没有帮助。

class Driver:
    def __init__(self, name: str):
        self.name = name

class TruckDriver(Driver):
    def __init__(self, name: str, company: str):
        super().__init__(name)
        self.company = company

class Vehicle:
    def __init__(self, driver: Driver):
        self.driver = driver

    def drive(self):
        print(f"{self.driver.name} is driving.")

class Truck(Vehicle):
    def __init__(self, driver: TruckDriver):
        super().__init__(driver)

    def drive(self):
        super().drive()
        print(f"Company: {self.driver.company}")
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/188965
文章 [ 1 ]  |  最新文章 1 周前