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
相关推荐
花间相见1 分钟前
【JAVA基础01】——类和对象
java·开发语言·python
小鸡吃米…7 分钟前
自然语言处理 ——Python 实现
人工智能·python·自然语言处理
Alex艾力的IT数字空间7 分钟前
OCR 原理:从像素到文本的智能转换
数据结构·人工智能·python·神经网络·算法·cnn·ocr
前端付豪18 分钟前
拍照识题 OCR
前端·后端·python
iFeng的小屋25 分钟前
【2026最新携程酒店爬虫分享】用Python批量爬取酒店评论,含回复内容一键保存Excel!
开发语言·爬虫·python
赵丙双33 分钟前
python-docx 报错 KeyError: “There is no item named ‘NULL‘ in the archive“
python·word·docx·python-docx
不光头强35 分钟前
抽象类和接口的区别
java·开发语言·python
ShoreKiten36 分钟前
Flask/ssti --by vulhub
后端·python·flask
m0_5477229244 分钟前
乒乓球比赛管理系统
python·mysql
奔跑的蜗牛FelixChioa44 分钟前
python连接sqlite快速入门
开发语言·python·sqlite