一、
import abc
import six
@six.add_metaclass(abc.ABCMeta)
class A(object):
@abc.abstractmethod
def func(self):
pass
class B(A):
def cc(self):
print("cc11111")
def func(self):
print("抽象类必须重写")
二、
class G(object):
__metaclass__ = abc.ABCMeta
@abc.abstractmethod
def func(self):
pass
class H(G):
def hhh(self):
print("hh")
def func(self):
print("抽象类必须重新")
三、
class D(metaclass=abc.ABCMeta): # 此处python2中提示语法错误
@abc.abstractmethod
def func(self):
pass
class E(D):
def ff(self):
print("ff")
def func(self):
print("抽象类必须重写")
四、静态方法
class Q():
@staticmethod
def test111():
print("静态方法")
def test222(self):
print("普通方法")
# 普通方法调用
q = Q()
q.test222()
# 静态方法调用
Q.test111()
静态方法调用不需要实例化