You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何为类或其子类实例的变量添加类型提示?

正确的类型提示方式

你不需要用type[Animal](这个确实是用来标注类本身而非类实例的),直接用Animal作为变量的类型注解就可以了。因为在Python的类型系统里,子类的实例自动属于父类的类型范畴,Dog()、Cat()和Animal()都符合Animal类型的标注,mypy也会完全认可这种写法。

修正后的代码示例:

class Animal:
    pass

class Dog(Animal):
    pass

class Cat(Animal):
    pass

a: Animal = Dog()  # 合法,Dog是Animal的子类
a = Cat()          # 同样合法
a = Animal()       # 当然也合法

如果需要更明确地标注“可以是Animal或其子类的实例”,其实Animal已经完全表达了这个含义——面向对象的多态特性决定了子类实例是父类类型的子类型,类型检查器会自动识别这一点。

内容的提问来源于stack exchange,提问作者JSaur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 23:04:53