• python之面向对象编程介绍、创建


    1.面向过程编程

        核心是过程二字,过程值的是解决问题的步骤,即先干什么,再干什么然后在干什么

       

        基于该思想编写程序好比在设计一条流水线,是一种机械式的思维方式

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

             (一个复杂的问题,分成一个个小的步骤去实现,实现小的步骤将会非常简单)

        缺点:扩展性差 (即修改一个地方,要修改很多地方)

    面向对象编程         现实世界中对象都归属某一类事物,任何对象都是某一类事物的实例

        核心对象二字,对象是特征与技能的结合体

        基于该思想编写程序就好比是在创造一个世界,你就是这个世界是上帝,存在的皆为对象,不存在的也可以创造出来,

         与面向过程机械式的思维方式形成鲜明对比, 面向对象更加注重对现实世界的模拟,是一种上帝式的思维方式。

        优点:可扩展性强。

            (对某一个对象单独修改,会立刻反映到整个体系中,如对游戏中一个人物参数的特征和技能修改都很容易。)

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

    2.类与对象

        对象:是特征与技能的结合体                                                               #名称空间(容器)

        类:种类、分类、类别;是一系列对象相似特征与技能的结合体               #名称空间(容器)

            强调:站的角度不同,总结的类是截然不同的

       在现实世界中:先有的一个个具体存在的对象,让后随着发展才有了分类的概念

       在程序中:必须先定义类,后调用类来产生对象

    套路总结:

    现实世界中总结对象-----》抽取相似之处,得到现实世界中的类---》定义为程序中的类-----》调用类,产生程序中的对象

    一.在程序中先定义类:

    class OldboyStudent:

        school=‘oldboy’

        def choose_course(self):

            print('is choosing course')

    强调:

            1.类体代码会在类定义阶段就立即执行,会产生一个类名称空间,将类体代码执行过程中产生的名字都丢进去

            2.python为我们提供专门访问属性(名称空间中的名字)的语法,点后的都是属性

             OldboyStudent.school                                         #OldboyStudent.__dict__['school']  点后的都是属性

        # print(OldboyStudent.__dict__)   #查看类名称空间里的名字
        # print(OldboyStudent.__dict__['school']) #类变量名的内存地址
        # print(OldboyStudent.__dict__['choose_course'])#类函数的内存地址
        # OldboyStudent.__dict__['choose_course']() #函数内存地址加()就可以调用


            
        # print(OldboyStudent.school) #OldboyStudent.__dict__['school']   缩写版

        # print(OldboyStudent.choose_course)         #OldboyStudent.__dict__['choose_course']

        # OldboyStudent.choose_course(111) #类里面函数可以直接当普通函数传值调用

        3.类的本身其实就是一个容器/名称空间,从类的名称空间中增/删/改/查名字

        4.类中定义的函数是类的函数属性,类可以使用,但使用的就是一个普通的函数而已,

              意味着需要完全遵循函数的参数规则,该传几个值就传几个

        # OldboyStudent.country='China'           #OldboyStudent.__dict__['country']='China'               #增加
        # OldboyStudent.country='CHINA'         #OldboyStudent.__dict__['country']='China'         #修改
        # del OldboyStudent.school                                                                                                            #删除

        # print(OldboyStudent.__dict__)

    二.后调用类产生对象,调用类的过程,又称为类的实例化,实例化的结果称为类的对象/实例

       stu1=OldboyStudent() # 调用类会得到一个返回值,该返回值就是类的一个具体存在的实例或对象  stu1(对象)

  • 相关阅读:
    2019春总结
    2019春第一周编程总结
    第十二周
    2019春第七周编程总结
    2019春第四周作业
    人生路上对我影响最大的三位老师
    第五周课程总结&试验报告(三)
    第四周课程总结&试验报告(二)
    第三周课程总结&实验报告一
    第二周java学习总结
  • 原文地址:https://www.cnblogs.com/Marcki/p/10111947.html
Copyright © 2020-2023  润新知