Class 的封装及调用-Python教学【StudyQuant|Python量化投资课堂】

前言:面向对象的三大特性是指:封装、继承和多态。论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

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

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

  • 通过对象直接调用
  • 通过self间接调用

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量化投资学院 计划在未来逐步公开以下内容:

  • 量化投资教学系列:「Python量化投资文章 」中进行详细的介绍,你也可以直接查看我们实时更新

  • Python量化免费课程 :「零基础Python课程」长期更新

  • 公众号 量化投资学院 :更多量化学习资源,关注获取下列免费资源

  • 回复“热点研报”,获取近年热点券商金融工程研究报告

  • 回复“Python量化”,获取Python免费学习课程

  • 报名课程/合作咨询 转载: 请加VX82789754

你可能感兴趣的:(Class 的封装及调用-Python教学【StudyQuant|Python量化投资课堂】)