关于python中的抽象类

关于python中的抽象类

本质是:不想让使用者实例化抽象类

对于 abstractstaticmethod 在py3.3中弃用了。

 

一 如何定义一个抽象类

1 常规做法 先import ABC 继承ABC

2 用abstractmethod或abstractclassmethod装饰一个方法。

二 使用说明

子类中 必须要定义   在基类中 被abstractmethod 装饰的 方法。

两种情况:

1) 正常方法 就是self,参数1 ,参数2...

2)静态方法 也是staticmethod 装饰这个方法。

  注意在 基类中使用staticmethod   不会影响到 子类。

 

正确例子:

复制代码
from abc import ABC, abstractstaticmethod, abstractclassmethod, abstractmethod

class BasePrompt(ABC):
    @abstractmethod
    def new_prompt(context, content):
        return "    "
class NewPro(BasePrompt):
    # def aaa(self):
    #     print("nnnnnnnnn")
    @staticmethod
    def new_prompt(context, content):
        print("abs--------")

if __name__ == "__main__":
    print(1111111)
    # bp = BasePrompt()
    np = NewPro()
    np.new_prompt(1,2)
复制代码

 

posted on   lexn  阅读(19)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示