社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  pycharm

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

Gautzilla • 4 月前 • 836 次点击  

在下面的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 ]  |  最新文章 4 月前