首页 > 编程语言 >关于python中的抽象类

关于python中的抽象类

时间:2024-06-05 15:11:48浏览次数:18  
标签:__ ABC prompt abstractmethod python BasePrompt 关于 抽象类

关于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)

 

标签:__,ABC,prompt,abstractmethod,python,BasePrompt,关于,抽象类
From: https://www.cnblogs.com/lx63blog/p/18233074

相关文章

  • Python深度学习实践:自动编码器在数据降维中的应用
    Python深度学习实践:自动编码器在数据降维中的应用1.背景介绍在现代数据科学和机器学习领域中,高维数据处理是一个常见的挑战。许多真实世界的数据集包含大量的特征,这些特征往往存在高度的冗余和噪声。高维数据不仅增加了计算复杂性,还容易导致维数灾难(curseofdimensio......
  • Python并发 :ThreadPoolExecutor
    concurrent.futures是Python中执行异步编程的重要工具,它提供了以下两个类: 1.ThreadPoolExecutorfromconcurrent.futuresimportThreadPoolExecutordeftest(num):print("Threads"num)#新建ThreadPoolExecutor对象并指定最大的线程数量withThreadPoolExecutor(......
  • python自动化测试框架,封装方法方式
    第一种:静态方法封装,接口调用入参定义一个(默认json),直接执行接口请求接口封装代码如下:classOrderTransactionService:@staticmethoddefgetComboProductList(body):url=http_host+'/service?serialize=7'headers={'Content-Type':'applic......
  • Python结合文件名称将多个文件复制到不同路径下
      本文介绍基于Python语言,针对一个文件夹下的大量栅格遥感影像文件,基于其各自的文件名,分别创建指定名称的新文件夹,并将对应的栅格遥感影像文件复制到不同的新文件夹下的方法。  首先,我们来看一下本文需要实现的需求。现有一个文件夹,其中有大量.tif格式的栅格遥感影像文件,以及......
  • python 标准库 dataclasses 使用指南
    简单使用dataclasses可以用来快速的定义数据类,并能够简单明了的指明该类所具有的属性和类型,比如,要定义一个名为Person的类,常规的写法如下:classPerson:def__int__(self,id:int,first_name:str,last_name:str,eye_color:str):self.id=idse......
  • Python从0到100(二十九):requests模块处理cookie
    1爬虫中使用cookie为了能够通过爬虫获取到登录后的页面,或者是解决通过cookie的反扒,需要使用request来处理cookie相关的请求1.1爬虫中使用cookie的利弊带上cookie的好处能够访问登录后的页面能够实现部分反反爬带上cookie的坏处一套cookie往往对应的是一个用户......
  • Python数据类型转换(新)
    目录Python数据类型的转换隐式类型转换显式类型转换Python数据类型的转换数据类型分为1.隐式类型转换2.显式类型转换隐式类型转换在隐式类型转换中,Python会自动将一种数据类型转换为另一种数据类型,不需要认为去干预比如在进行算术运算的时候,较低数据类型(整数)就会......
  • Python2 input函数漏洞利用
    在Python2中,input函数相当于eval(raw_input(prompt))如果输入的数据是一个恶意的表达式,存在任意代码执行的风险实例演示字符串拼接命令执行__import__('os').system('cat/etc/passwd')靶场利用在vulnhubbottleneck靶机中,遇到input漏洞利用的情况#核心......
  • Python3基本语法(新)
    目录基本语法输出print()格式化输出标识符import关键字保留字(关键字)注释多行注释1、单引号(''')2、双引号(""")缩进空行同一行显示多条语句等待用户输入inputimport与from...import基本语法输出print()print()是一个让计算机在屏幕上进行输出的'指令'.它分为四个部分1.prin......
  • Python数据类型(新)
    目录数据类型类型查看同时多个变量赋值标准数据类型1.数字(Number)2.字符串3.bool(布尔类型)4.元组元组的运算+运算+=运算*运算元组的删除5.列表(List)查找列表修改列表列表的切片列表是可以修改的列表的追加列表的插入列表的连接列表的删除列表的清空列表的复制6.字典查找字典......