• 面向对象



    # 面向对象第一个优点: 类是一组相似功能的集合,让我代码的组织结构更加清晰规范化.

    # 类,对象.

    # 什么是类, 可加油,可直行,可后退,可拐弯,在路上行驶: 汽车.
    # 类是具似相同功能和属性的一类实物.
    # 什么是对象?
    # 对象是类的具体体现,具体到一个.

    # 面向对象的第二优点: 上帝的思维,用面向对象设计程序,
    # 类是一个公共模板,对象去操作使用这个公共模板(慢慢体会).

    # 类的结构:

    # class Human:
    # """
    # 此类是构建一个人类
    # """
    # # 第一部分: 静态属性,属性,变量,静态字段
    # mind = '有思想'
    # language = '会使用语言'
    # shape_list = ['四肢','五官','头']
    #
    # # 第二部分: 动态属性 方法 函数
    # def work(self):
    # print('人类都会工作')
    #
    # def eat(self):
    # print('人类都需要吃饭')

    # 如何使用?
    # 类名 类的名字
    # 一,静态属性
    # 1,查看类中的 所有 内容 类名.__dict__
    # print(Human.__dict__)
    # print(Human.__dict__['mind'])
    # Human.__dict__['language'] = None
    # print(Human.__dict__['language'])
    # 使用 __dict__只是查询类中的所有内容,不能增删改类中的内容,尽量不要查询单个属性.
    # 2,万能的点 . 类名. 的方式
    # Human.body_hair = '体毛' # 增
    # del Human.language # 删
    # Human.mind = '无脑的' # 改
    # print(Human.shape_list) # 查
    # print(Human.__dict__)
    # 二, 方法.
    # 3, 代码中除去(静态方法,类方法)一般不用类名去执行类中的方法.
    # print(Human.work)
    # Human.work(123) # 一般不用类名执行类中的方法
    # 对象
    # class Human:
    # mind = '有思想'
    # language = '会使用语言'
    # shape_list = ['四肢','五官','头']
    # def __init__(self):
    # # print(666)
    # print('__init__中的self:',self)
    # def work(self):
    # print('人类都会工作')
    #
    # def eat(self):
    # print('人类都需要吃饭')
    # # obj = Human() # 实例化过程,实例化一个对象,产生一个对象.
    # # print(obj)
    # # obj1 = Human()
    # # obj2 = Human()
    # # obj3 = Human()
    # # print(obj1,obj2,obj3)
    #
    # # 实例化对象 类名() 在内存中开辟一个空间.
    # obj = Human()
    # print('实例化的对象:',obj)

    # def func(self):
    # # print(self)
    # self()
    # def func1():
    # print(666)
    # # print(func1)
    # func(func1)


    # class Human:
    # mind = '有思想'
    # language = '会使用语言'
    # shape_list = ['四肢','五官','头']
    # def __init__(self):
    # # print(666)
    # # print('__init__中的self:',self)
    # self.n = 'alex'
    # self.s = '男'
    # def work(self):
    # print('人类都会工作')
    #
    # def eat(self):
    # print('人类都需要吃饭')
    # obj = Human() # 实例化过程,实例化一个对象,产生一个对象.
    # # obj.name = 'alex'
    # # print(Human().__dict__)


    class Human:
    mind = '有思想'
    language = '会使用语言'
    shape_list = ['四肢','五官','头']
    def __init__(self,name,age,sex):
    # print(666)
    # print('__init__中的self:',self)
    self.n = name
    self.s = sex
    self.a = age

    def work(self):
    print('人类都会工作')

    def eat(self):
    self.weight = 200
    print('人类都需要吃饭')
    # lange = Human('兰哥',18,'女') # 实例化过程,实例化一个对象,产生一个对象.
    # print(lange.__dict__)
    '''
    实例化对象(Human())发生三步:
    1,在内存中开辟一个对象空间.
    2,自动执行__init__方法,并将对象空间传给self.
    3,执行__init__的代码,给对象空间封装属性.
    '''
    # 对象的角度操作对象,类.
    # lange = Human('兰哥', 18, '女') # 实例化过程,实例化一个对象,产生一个对象.
    # 1,对象查看对象空间的所有属性.
    # print(lange.__dict__)
    # 不建议用__dict__增删改对象的属性
    # lange.__dict__['n'] = '太白'
    # del lange.__dict__['n']
    # 2,对象操作对象空间的属性. 万能的点 .
    # lange.height = 180 # 增
    # del lange.n # 删
    # lange.s = '男'
    # print(lange.a)
    # print(lange.__dict__)

    # print(lange.__dict__)
    # 3,对象查看类中的静态属性,只能查看!!!
    # print(lange.mind)
    # lange.mind = '无脑' # 给对象空间添加一个属性 mind = '无脑'
    # print(lange.mind)
    # print(Human.mind)

    # 4 ,对象调用类中的方法.
    cockroach = Human('小强',27,'laddyboy')
    # print(cockroach.eat())
    # print(cockroach.__dict__)
    # print(cockroach)
    # cockroach.eat()
    # print(cockroach.__dict__)
    # 只要对象执行类中的方法,就会将对象空间自动创给方法的第一个参数 self

    # self 类中的所有方法(类方法,静态方法)的第一个参数,都会默认接0受对象空间,所以为了方便,区分第一个参数约定俗成成为self.

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

    class Human:
    mind = '有思想'
    language = '会使用语言'
    shape_list = ['四肢','五官','头']
    def __init__(self,name,age,sex):
    # print(666)
    # print('__init__中的self:',self)
    self.n = name
    self.s = sex
    self.a = age

    def work(self):
    print('人类都会工作')

    def eat(self):
    self.weight = 200
    print('人类都需要吃饭')
    obj1 = Human('小强',27,'男')
    obj2 = Human('静哥',18,'女')
    obj3 = Human('龙哥',18,'男')
    print(obj1.__dict__)
    print(obj2.__dict__)
    print(obj3.__dict__)
  • 相关阅读:
    Hbase shell 常用命令
    HTable基本概念
    通过HBase Shell与HBase交互
    把Nutch爬虫部署到Hadoop集群上
    wso2esb安装及helloworld
    nDPI 的论文阅读和机制解析
    Ubuntu 编译出现 ISO C++ 2011 不支持的解决办法
    404 Note Found 队-课堂实战-项目UML设计
    nDPI的安装与测试
    精读 SBAR SDN flow-Based monitoring and Application Recognition
  • 原文地址:https://www.cnblogs.com/sl123/p/10311340.html
Copyright © 2020-2023  润新知