## 第51周学习总结——Python基础学习

这一周,为了封装代码,学习了Python中的一些知识。主要是使用abc库和多态、property的使用。

abc库

abc库主要用到了abstractmethod和abstractproperty,它们都是用python中的装饰器实现的。

其中,abstractmethod是定义一个抽象的方法,基类不去实现,然后让子类去实现。子类如果不实现的话,就不能初始化实例。使用参考:

        class C(metaclass=ABCMeta):
            @abstractproperty
            def my_abstract_property(self):
                ...

还有,abstractproperty它的功能就是定义一个抽象的属性,然后让基类实现。不过,最近的版本中已经废弃了,可以结合property和abstractmethod来使用。

多态

多态,其实这个在任何面向对象中都会用到,python也有面向对象,用法都差不多,这里不多做总结。

property

property这个定义属性,可以定义get方法和set方法,这个和OC语言差不多,但是使用起来可能有些区别,代码示例如下:

    @property
    def bid_num(self):
        return self._bid_num

    @bid_num.setter
    def bid_num(self, value):
        self._bid_num = self._handle_on_property(value)

其中,上面的一个方法是get方法,而set方法则是使用@property_name.setter方式进行声明。

写代码

就是运用以上的一些基本知识,结合起来写一些框架性、更通用的代码

总结

abc模块是使用修饰器来进行处理,可以看出修饰器是一个很强大的东西,它可以在语法层面增加很多想象的空间。

你可能感兴趣的:(## 第51周学习总结——Python基础学习)