python 抽象类

这是一个正常类

python 复制代码
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
class A:
    def f(self):
        pass


class B(A):
    def g(self):
        print("g")


if __name__ == "__main__":
    a = A()
    b = B()
    b.g()  # g
    b.f()

抽象类(C++中含有纯虚函数的类,)

让A继承ABC,然后给f标上@abstractmethod,A就是一个抽象类了

必须要实现f才能实例化

python 复制代码
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
from abc import ABC, abstractmethod


class A(ABC):
    @abstractmethod
    def f(self):
        pass


class B(A):
    def f(self):
        print("f")

    def g(self):
        print("g")


class C(A):
    pass


if __name__ == "__main__":
    # a = A()
    b = B()
    b.g()  # g
    b.f()  # f
    c = C()  # TypeError: Can't instantiate abstract class C with abstract methods f
相关推荐
ZhouDevin几秒前
【算法实战】DEIMv2全流程复现
人工智能·python·算法·目标检测·计算机视觉·transformer
long_songs11 分钟前
Python编程第03课:第一个Python程序 - Hello World深度解析
开发语言·python
deephub12 分钟前
从零构建 Mini-vLLM:KV-Cache、动态批处理与分布式推理全流程
人工智能·python·深度学习·大语言模型·vllm
生信研究猿14 分钟前
leetcode 141.环形链表
python·leetcode·链表
_MyFavorite_16 分钟前
JAVA重点基础、进阶知识及易错点总结(32)设计模式(建造者、原型)
java·python·设计模式
zzj_26261021 分钟前
实验三 循环结构程序设计(Python)
服务器·python·apache
chushiyunen29 分钟前
python实现分离不同人声、wespeaker
开发语言·python
甄心爱学习29 分钟前
【项目实训(个人2)】
python·个人开发
nimadan1234 分钟前
AI仿真人剧服务商2025推荐,前沿技术与创新体验结合
人工智能·python
AI自动化工坊34 分钟前
Claw Code技术深度解析:Python+Rust混合架构的设计与实现
开发语言·人工智能·python·ai·架构·rust·开源