python知识点整理

======================================================================

面向对象的整理

一 什么是面向对象的程序设计及为什么要有它,与面向过程的程序设计优劣对比以及应用场景

什么是面向过程?

核心是"过程"二字,过程指的是解决问题的步骤,即先干什么再干什么,基于该思想编写程序就好比在编写一条流水线,是一种机械式的思维方式。

优点:复杂的问题流程化,进而简单化。

缺点:可扩展性差。

什么是面向对象

核心"对象二字",对象指的是特征与技能的结合体,基于该思想编写程序就好比在创造一个世界,你就是这个世界的上帝,是一种上帝式的思维方式

扫描二维码关注公众号,回复: 3740731 查看本文章

优点:可扩展性强

缺点:编程的复杂度高于面向过程


二 类和对象
3.1 什么是对象,什么是类

类:对象是特征与技能的结合体,那类就是一系列对象相同的特征与技能的结合体。

现实生活中的对象:
    对象1:
        特征:
            school="Oldboy"
            name="马冬梅"
            age=18
            sex="female"
        技能:
            学习
            选课

    对象2:
        特征:
            school="Oldboy"
            name="甜蜜蜜"
            age=21
            sex="male"
        技能:
            学习
            选课

    对象3:
        特征:
            school="Oldboy"
            name="原石开"
            age=22
            sex="male"
        技能:
            学习
            选课

现实生活中的老男孩学生类:
     相同的特征
            school="Oldboy"
     相同的技能
            学习
            选课
'''
#1、程序中的类
class OldboyStudent:
    # 用变量表示特征
    school="Oldboy"

    #  用函数表示技能
    def learn(self):
        print('is learning...')

    def choose(self):
        print('choose course...')

    # print('======>')

# 注意:在定义类的阶段会立刻执行类体内的代码,然后将产生的名字存放于类名称空间中
print(OldboyStudent.__dict__)
print(OldboyStudent.__dict__['school'])
print(OldboyStudent.__dict__['learn'])
# OldboyStudent.__dict__['learn'](123)

# print(OldboyStudent.school) # OldboyStudent.__dict__['school']
# print(OldboyStudent.learn) # OldboyStudent.__dict__['learn']
# OldboyStudent.learn('xxx')
# OldboyStudent.learn('xxx')


OldboyStudent.country='China'
OldboyStudent.school='偶的博爱'

del OldboyStudent.country
print(OldboyStudent.__dict__)


# 2、调用类,产生程序中的对象

3.2 类的属性引用和实例化
3.3 对象的属性引用
3.4 对象之间的交互
3.5 类名称空间与对象/实例名称空间

三 继承与派生
4.1 什么是继承
4.2 继承与抽象(先抽象再继承)
4.3 继承与重用性
4.4 组合与重用性


4.6 抽象类


4.7 继承实现的原理(继承顺序:深度优先,广度优先)
4.8 子类中调用父类方法


六 多态与多态性
5.1 多态
5.2 多态性


七 封装
6.1 要封装什么
6.2 为什么要封装
6.3 封装分为两个层面

八 property,绑定到对象的方法,绑定到类的方法,解除绑定的方法


九 反射


十 isinstance,issubclass,__str__,__slots__

十一 __del__


十二 __call__,元类

猜你喜欢

转载自www.cnblogs.com/wangmiaolu/p/9858785.html