首页 > 编程语言 >python抽象类

python抽象类

时间:2022-10-02 17:46:49浏览次数:53  
标签:abstractmethod python abstract method1 self 抽象类 class

python抽象类
Python本身不具有抽象类,通过导入abc模块可以另一抽象类和抽象方法。

from abc import abstractmethod, ABCMeta


class Base(metaclass=ABCMeta):

    @abstractmethod
    def method1(self):
        pass

    def method2(self):
        print('This is a general method.')


class children(Base):

    def method1(self):
        print('This is an abstractmethod.')


child = children()
child.method1()  # This is an abstractmethod.
child.method2()

抽象类必须通过ABCMeta元类来定义;

抽象类不能直接实例化,否则会抛出异常:TypeError: Can’t instantiate abstract class [className] with abstract methods [methodNames];

抽象方法必须在子类中重写来实现,否则会抛出异常:TypeError: Can’t instantiate abstract class [className] with abstract methods [methodNames];

标签:abstractmethod,python,abstract,method1,self,抽象类,class
From: https://www.cnblogs.com/andy0816/p/16749086.html

相关文章

  • AES加密算法原理及python实现
    AES对称加密算法  AES加密算法即密码学中的高级加密标准(AdvancedEncryptionStandard,AES),又称Rijndael加密法(2000年10月2日,比利时密码专家JoanDaemen和VincentRijmen提......
  • python for循环
    for循环1.1结构:for变量in可迭代对象:statement(s)可迭代对象是指那些元素能够被单独提取出来的对象,比如,字符串;什么是可迭代呢?例如,"FishC",然后每次......
  • Python中变量名后面加冒号是什么意思?
    见过一个大佬写的代码是这样的:user:User=User.objects.filter(id=data.get('uid')).first()变量名后面的冒号是:类型注解,3.6以后加入的,冒号右边是类型,仅仅是注释,有些鸡......
  • 学习python-Day67
    今日学习内容2个视图基类属性说明queryset要序列化的数据serializer序列化类lookup_field(了解)通过get_object获取单个对象的查询key值,value值是......
  • 抽象类和抽象方法
    抽象类abstract修饰符可以用来修饰类,也可以用来修饰方法抽象方法一定存在于抽象类中抽象类不能用new关键字来创建对象抽象方法只有方法的声明,没有方法的实现子类继......
  • 抽象类
    抽象类abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。抽象类中可以没有抽象方法,但是有抽象方法......
  • 老猿理解的Python中的垃圾回收机制
    垃圾回收机制(GC)是所有高级语言的标准配置之一。在一定程度上可以优化编程语言的数据处理效率,提高编程软件开发软件的安全性能。Python中的垃圾回收机制主要基于引用计数,......
  • python识别ico hash值
    用python识别icohash值,通过shodan搜索icohash值的网站,网上较为多流行的是用python2写的,但考虑到现在都是python3,这个脚本也跑不起来,所以自己重写了一个python3版本 需......
  • python 查询字符串编码方式
    In[6]:chardet.detect(b'\xc8\xcb\xc9\xfa\xbf\xe0\xb6\xcc\xa3\xac\xce\xd2\xd3\xc3Python')Out[6]:{'encoding':'GB2312','confidence':0.99,'language':'Chinese......
  • 4个Python推导式相关的开发技巧
    对于数据科学,Python通常被广泛地用于进行数据的处理和转换,它提供了强大的数据结构处理的函数,使数据处理更加灵活,这里说的“灵活性”是什么意思?这意味着在Python中总是有......