python学习Day16--面向对象

【基本知识点】

2020-02-10 19:31:14

1、类:具有相同属性和技能的一类事物

2、对象:具体的类的表现,具体的实实在在的一个实例

  (人是一类,太白是一个对象;狗是一类,我家旺财是一个对象)

 1 class person:
 2     '''类体:两部分——变量部分,方法(函数)部分'''
 3     mind='有思想'      # 变量,静态变量,静态字段
 4     animal='高级动物'
 5     Faith='有信仰'
 6 
 7     def work(self):   # 方法,函数,动态变量
 8         print("人类都会工作...")
 9     def shopping(self):
10         print("人类可以消费...")

3、两个角度分析面向对象

  (1)类名的角度

  A.操作类中的静态变量:

    #1,person.__dict_查询类中的所有内容(不能进行增删改操作)

    print(person.__dict__['Faith'])     #有信仰

    #2,万能的 .     对类中的单个变量进行增删改查

    print(person.mind)             #  有思想(查)

    person.money='运用货币'  # 增

    person.mind='无脑的'        # 改

    del person.mind                # 删

  B.操作类中的方法:(工作中基本不用)person.work(111)——必须传参

    (除了类方法,静态方法 需要类名调用外,剩下的方法都要对象调用)

  (2)对象的角度

  person()  # 类名+()  过程:实例化的过程(创建一个对象的过程)

      #person()  实例化对象,实例,对象

  #1,只要类名+()产生一个实例(对象,对象空间)

  #2,自动执行类中的__init__方法,并将对象空间传给__init__的self参数

  #3,给对象封装相应的属性(比如,self.name="123"     self.age=123)

 

#4,也可以实现增删改查

#5,对象操作类中的静态变量:只能查询

#6,对象调用类中的方法(第一个参数是不用传值的)(工作中是通过对象执行类中的方法,而不是类名)

#7,print(ret.__dict__)  查询对象中所有的内容

 

 

原文地址:https://www.cnblogs.com/fengxb1213/p/12292105.html