Abstract classes are like a mixture of classes and interfaces. They have the characteristics of interfaces. They use the third-party abc module in python to implement abstract classes.
Abstract methods do not have the problem of rewriting, but there are problems of implementation (recommended learning: Python video tutorial)
If a class is extracted from a bunch of objects with the same content, then The abstract class is extracted from a bunch of classes with the same content, including data attributes and function attributes.
A class containing abstract methods must be an abstract class, but an abstract class does not necessarily contain abstract methods, and it does not make any sense at this time.
In python, interfaces (abstract classes) are often used for collaborative work.
Note: In python, we do not distinguish whether it is an abstract class based on whether it has an executable body, but based on whether there is an @abc.abstractmethod decorator as the standard.
#注意:不能直接实例化抽象类!!! #示例程序: import abc #导入abc模块 class InMa(metaclass=abc.ABCMeta): #定义抽象方法 @abc.abstractmethod #定义抽象方法 def login(self): pass @abc.abstractmethod def zhuce(self): pass class Login(InMa): #继承抽象类 def __inti__(self,name,pwd): self.name = name self.password = pwd def login(self): #实现抽象方法功能 if self.name == "qq" and self.password == "111": print("恭喜登录成功") else: print("登录失败") class Zc(Login): def __init__(self,name,pwd): self.name = name self.password = pwd def zhuce(self): print("恭喜注册成功") print("username:",self.name) print("password:",self.password) #实例对象 ren = Zc("Jaue","qqq") ren.zhuce()
For more Python related technical articles, please visit the Python Tutorial column to learn!
The above is the detailed content of What is the use of python abstract class. For more information, please follow other related articles on the PHP Chinese website!