## 第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模块是使用修饰器来进行处理,可以看出修饰器是一个很强大的东西,它可以在语法层面增加很多想象的空间。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容