Class 的封装及调用-Python教学【StudyQuant

2020-06-17  本文已影响0人  StudyQuant量化投资

前言:面向对象的三大特性是指:封装、继承和多态。论Class 的封装及调用

StudyQuant.png

面向对象三大特性

面向对象的三大特性是指:封装、继承和多态。

一、封装

封装,顾名思义就是将内容封装到某个地方,以后再去调用被封装在某处的内容。

所以,在使用面向对象的封装特性时,需要:

第一步:将内容封装到某处

img

self 是一个形式参数,当执行 obj1 = Foo('wupeiqi', 18 ) 时,self 等于 obj1

​ 当执行 obj2 = Foo('alex', 78 ) 时,self 等于 obj2

所以,内容其实被封装到了对象 obj1 和 obj2 中,每个对象中都有 name 和 age 属性,在内存里类似于下图来保存。

https://images0.cnblogs.com/blog2015/425762/201508/271653303446704.jpg

第二步:从某处调用被封装的内容

调用被封装的内容时,有两种情况:

1、通过对象直接调用被封装的内容

上图展示了对象 obj1 和 obj2 在内存中保存的方式,根据保存格式可以如此调用被封装的内容:对象.属性名

class Foo:
 
    def __init__(self, name, age):
        self.name = name
        self.age = age
 
obj1 = Foo('wupeiqi', 18)
print obj1.name    # 直接调用obj1对象的name属性
print obj1.age     # 直接调用obj1对象的age属性
 
obj2 = Foo('alex', 73)
print obj2.name    # 直接调用obj2对象的name属性
print obj2.age     # 直接调用obj2对象的age属性

StudyQuant量化投资学院 计划在未来逐步公开以下内容:

上一篇 下一篇

猜你喜欢

热点阅读