16 类,对象; 类,对象调用类中的变量和方法.

主要内容:

1.  类和对象的基本定义:

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

  对象:具有类的表现,具体的实实在在的一个实例.

2.  类体有两部分组成:变量部分和 方法(函数)部分.

class Person:
    '''类体:两部分:变量部分,方法部分'''
    mind = '有思想的'   #变量,静态变量,静态字段
    animal = '高级动物'
    faith = '有信仰'
    def work(self):     #方法,函数,动态变量
        print('人类都会工作')
    def shop(self):
        print('人类可以消费')

3.  类名的角度

# 1)  Person.__dict__ 查询类中的所有的内容 (不能进行增删改操作)
print(Person.__dict__)             #查看类中的所有变量,内容
print(Person.__dict__['mind'])    #不经常使用

# 2)  万能的  .  对类中的单个的变量进行增删改查,用 万能的 点
print(Person.mind)       #查看类中的变量
Person.money = '货币'     #增
print(Person.__dict__)    
del Person.mind           #删
print(Person.__dict__)
Person.animal = '低级'   #该
print(Person.__dict__)

# 3)  操作类中的方法,工作中不常用.
Person.work(11)

4.  对象的角度

    a:类名():产生一个实例(对象,对象空间),执行类名()的过程,相当于执行三个过程.

class Person:
    mind = '有思想的'   #变量,静态变量,静态字段
    animal = '高级动物'
    faith = '有信仰'
    def __init__(self):
        print(self)
    def work(self):     #方法,函数,动态变量
        print(self)
        print('人类都会工作')
    def shop(self):
        print('人类可以消费')
ret = Person()     #person()产生一个实例,对象,对象空间.
print(ret)

#1.  类名+()产生一个实例(对象,对象空间)
#2   自动执行类中的__init__方法,将对象空间传给__init__的self参数.
#3   给对象封装相应的属性.

   b:操作对象中的静态变量

    1)  查看对象中的所有变量(内容) :   对象.__dict__

    2) 万能的 .

class Person:
    mind = '有思想的'   #变量,静态变量,静态字段
    def __init__(self,name,sex,age):
        self.name = name
        self.sex = sex
        self.age = age
    def shop(self):
        print('人类可以消费')
ret = Person('alex','23','男')
print(ret)                       #<__main__.Person object at 0x0000019D20D5F0B8>
print(ret.__dict__)              #查看对象中的所有内容.{'name': 'alex', 'sex': '23', 'age': '男'}
print(ret.name)                  #万能的点
del ret.name           #删
print(ret.__dict__)
ret.name = 'sylar'     #改
print(ret.__dict__)
ret.hobby = '教学'     #增
print(ret.__dict__)

  c:对象操作类中的静态变量,只能查询,不能进行其他操作.

print(ret.mind)             #有思想的
del ret.mind                #报错,只能进行查询,不能进行其他操作.
print(Person.__dict__)

  d:对象调用类中的方法(工作中通过对象执行类中的方法,而不是通过类名)

 class Person:
    mind = '有思想的'   #变量,静态变量,静态字段
    animal = '高级动物'
    def __init__(self,name,sex,age):
        self.name = name
        self.sex = sex
        self.age = age
    def shop(self):
        print(self)
        print('人类可以消费')
ret = Person('alex','23','男')
ret.shop()     #不用传参数,Person()会产生一个对象空间,给ret,ret给shop传递参数.
Person.shop(1) #需要传参数
print(ret)

  

原文地址:https://www.cnblogs.com/gyh412724/p/9354561.html