首页 > 代码库 > 类和对象描述符

类和对象描述符

 

@staticmethod

在类里面给函数添加静态方法,用法详见有理数类,此方法使用于定义在类里面的函数,它所描述的方法应该是在类里面定义的一个非实例方法,这个方法只使用于这个类,所以不应该被定义为全局函数

@abc.abstractstaticmethod

此描述符需要用到abc模块,应用场景为自定义一个父类,需要将其子类的方法全部必须要有父类的方法且一模一样

将父类变成抽象类,需要用到abc模块,

用法如下

?
# 抽象类
# 父类要限制
# 1;子类必须要有父类的方法
# 2:子类实现的方法必须跟父类的方法的名字一样
?
?
import abc
?
?
class File(metaclass=abc.ABCMeta):
?
    @abc.abstractmethod
    def read(self):
        pass
?
    @abc.abstractmethod
    def write(self):
        pass
?
?
class Text(File):
?
    def write(self):
        pass
?
    def read(self):
        pass
?
if __name__ == ‘__main__‘:
    t = Text()
    t.write()

property修饰符

被property修饰符修饰的函数属性可以像数据属性一样被访问

class People:
    def __init__(self, name, age):
        self.name = name
        self.age = age
?
    @property
    def walk(self):
        print(‘walking‘)
        
        
p = People("egon", 18)
    p.walk

 

类和对象描述符