天天看点

Python-面向对象编程进阶

一.全局类变量

1.类变量,全局变量,在内存中只存储一份;

2.普通的对象属性,每个对象中都需要存储一份;

设置country为默认变量值为China

<a href="https://s1.51cto.com/wyfs02/M00/A4/A1/wKioL1mun2qROOgXAADb7RRMb_w544.png" target="_blank"></a>

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

<a href="https://s5.51cto.com/wyfs02/M01/A4/A1/wKioL1mun2yQ5T7hAAEFb8UlRXo755.png" target="_blank"></a>

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

<a href="https://s5.51cto.com/wyfs02/M02/05/F0/wKiom1mun4qR5yOzAAEiGfrPZAM369.png" target="_blank"></a>

二.方法

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

<a href="https://s3.51cto.com/wyfs02/M00/A4/A1/wKioL1muoO-A17GsAABnSRz3Ux0193.png" target="_blank"></a>

<a href="https://s1.51cto.com/wyfs02/M02/05/F0/wKiom1muoYzhN90PAAAzmekq45c074.png" target="_blank"></a>

<a href="https://s1.51cto.com/wyfs02/M00/05/F0/wKiom1muoYzgGZkiAAASDBdX6Ao972.png" target="_blank"></a>

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

使用类方法:

<a href="https://s3.51cto.com/wyfs02/M01/A4/A1/wKioL1muoO-wdDhFAAD4Ha4UAxc813.png" target="_blank"></a>

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

<a href="https://s1.51cto.com/wyfs02/M00/A4/A1/wKioL1muod7wnYg_AADIQbeoTZI605.png" target="_blank"></a>

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

        date1每回的值地址不一样

<a href="https://s1.51cto.com/wyfs02/M01/05/F0/wKiom1muofuC2gClAABNjwrFQUU226.png" target="_blank"></a>

<a href="https://s1.51cto.com/wyfs02/M00/05/F0/wKiom1muofzxDvKRAAB3n6jTFpg497.png" target="_blank"></a>

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

<a href="https://s4.51cto.com/wyfs02/M02/05/F1/wKiom1muqVjwGAnqAAE_kWhk-GE072.png" target="_blank"></a>

两种结果:

<a href="https://s1.51cto.com/wyfs02/M01/A4/A1/wKioL1muozeRAMdpAABYo6t0Y70284.png" target="_blank"></a>

<a href="https://s1.51cto.com/wyfs02/M02/05/F0/wKiom1muo1SCUIfTAABLdZRFTKA890.png" target="_blank"></a>

三.特殊属性

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

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

<a href="https://s2.51cto.com/wyfs02/M01/A4/A1/wKioL1muo4axOpFHAAC9ZrB-UQ4345.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M00/05/F0/wKiom1muo6TR14sDAAC_qIQ1DyY361.png" target="_blank"></a>

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

<a href="https://s3.51cto.com/wyfs02/M01/A4/A1/wKioL1mupC2wWAw1AACn8Shv88I369.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M00/05/F0/wKiom1mupEqxE4kGAABQgRM9oe0683.png" target="_blank"></a>

利用内置函数实现

<a href="https://s5.51cto.com/wyfs02/M01/05/F1/wKiom1mupU_T55pjAADdzL2L0BM037.png" target="_blank"></a>

四.类的特殊成员

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

<b></b>