Python-面向对象编程进阶

一.全局类变量

1.类变量,全局变量,在内存中只存储一份;
2.普通的对象属性,每个对象中都需要存储一份;

设置country为默认变量值为China


Python-面向对象编程进阶


设置country=‘china’为全局类变量

Python-面向对象编程进阶


全局变量地址与得出的结果变量地址一致

Python-面向对象编程进阶


二.方法

1.实例化方法:第一个参数为self(实例化本身);

Python-面向对象编程进阶

Python-面向对象编程进阶

Python-面向对象编程进阶



2.类方法:第一个参数是cls(类本身);通过@classmethod装饰器实现;

使用类方法:

Python-面向对象编程进阶


(2)子类里的方法,类方法适用于单个类

Python-面向对象编程进阶


(3)date1 = cls(year,mouth,day)其实是个实例化对象

        date1每回的值地址不一样

Python-面向对象编程进阶

Python-面向对象编程进阶



3.静态方法:第一个参数既不是self也不是cls;通过@staticmethod方法实现;

Python-面向对象编程进阶


两种结果:

Python-面向对象编程进阶

Python-面向对象编程进阶



三.特殊属性

装饰器@property添加与不添加实现以下程序


例1:查看哪一页的数据库显示     默认每页显示的数据条数=10(两种方法实现)

Python-面向对象编程进阶


Python-面向对象编程进阶



例2:一件物品老价钱100,打7折,重新更改价钱为200,打7折后140

Python-面向对象编程进阶

Python-面向对象编程进阶


利用内置函数实现

Python-面向对象编程进阶


四.类的特殊成员






      本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1962941,如需转载请自行联系原作者