• 函数式编程vs面向对象编程


    类:有相同功能与属性的一类东西

    对象:是类的具体体现,具体到一个

    优势: 类是一组相似功能的集合,让我代码的组织结构更加清晰规范

      用面向对象设计程序,累就是一个公共模板,对象去操作使用这个公共模板

    类的结构:

    class Human:
        mid='有思想'
        language='会使用语言'
        shape_list=['四肢','五官','头']  静态属性
        def work(self):
            print('人类都会工作')
        def eat(self):
            print('人类都要吃饭')         方法
    print(Human.__dict__)
    Human.body_hair='体毛'     增
    del Human.language        删
    Human.mind='无脑'          改
    print(Human.shape_list)   查

    方法:代码中除去(静态方法,类方法),一般不用类名去执行类中方法

    obj=Human()
    
    obj1=Human()
    
    obj2=Human()
    
    print(obj,obj1,obj2)实例化过程中,实例化一个对象就产生一个地址
    实例化对象:类名+() 在内存中开辟了一个空间

    实例化对象(Human())发生3步:

    1在内存中开辟一个对象内存

    2自动执行__init__方法,并将对象空间传给self

    3执行__init__的代码给对象空间封装属性

    class Human:
        mind='有思想'
        language='会使用语言'
        shape_list=['四肢','五官','头']
        def __init__(self):
            print(666)
            print(self)
        def work(self):
            print('人类都会工作')
        def eat(self):
            print('人类都要吃饭')
    obj=Human()
    class Human:
        mind='有思想'
        language='会使用语言'
        shape_list=['四肢','五官','']
        def __init__(self,name,sex,age):  实参
            self.n=name
            self.s=sex
            self.a=age
        def work(self):
            print('人类都会工作')
        def eat(self):
            print('人类都要吃饭')
    obj=Human('alex','',18)    形参
    obj.n='lange'                  改
    print(obj.__dict__)    查看

    对象的角度操作类,对象:

    1,对象查看对象空间的所有属性:print(obj__dict__)

    2,对象操作对象空间的属性:

    obj.height=180       增
    print(obj.__dict__)  查
    del obj.n            删
    obj.s=''           改
    print(obj.a)         查

    3,对象查看类中的静态属性,只能查看

    print(obj.mind)

    4,对象操作类的方法:

    obj=Human('alex','男',18)
    cock=Human('小强',27,'男')   只要对象执行类中的方法,就会将对象空间自动创给方法的第一个参数
    print(cock.__dict__)

    self类中所有的方法(类方法,静态方法) 的第一个参数都会默认接收对象空间,为了方便区分,就把第一个参数约定俗称为self

    一个类可以实例化多个对象

    obj=Human('小强',27,'')
    obj1=Human('文静',18,'')
    obj2=Human('龙哥',18,'')
    print(obj.__dict__)
    print(obj1.__dict__)
    print(obj2.__dict__)
  • 相关阅读:
    【C#食谱】【风味小吃】菜单2:角度转换为弧度
    16 Rules for Managers
    word打不开,要在安全模式下才能打开
    禁止修改IP地址工具及原理
    VB编程读取本地计算机IP地址及MAC地址
    联想TinkCenter 8000T 安装XP需要修改CMOS
    使用nLite封装2003集成Raid卡驱动
    怎么样让台式机通过笔记本无线上网 台式机共享上网 笔记本当无线路由器 两台电脑一根网线
    VB使用ADODB操作数据库的常用方法
    转:[震惊] 这两天发现被穿的真正原因——QQ电脑管家
  • 原文地址:https://www.cnblogs.com/weize111/p/10310266.html
Copyright © 2020-2023  润新知