面向对象初识
类:具有相同属性和技能的一类事物
对象:具体的类的表现,具体的实实在在的一个实例
class#关键字  类名:
    类体:两部分:1,变量部分
           2,方法(函数部分)
对类中的单个的变量进行增删改查用点 .
查询全部用__dict__
类名+()  实例化的过程(创建一个对象的过程)实例化对象
只要是类名+()  产生一个对象,自动执行类中的__init__方法
类名+()  在内存中,就是在内存中开辟了一个新的空间
实际操作:
class Person:     #类名首字母要大写
    #类体:两部分1变量部分
    mind = '有思想'    #变量,静态变量,也叫静态字段
    animal = '高级动物'
    faith = '有信仰'
    #方法,函数部分,动态变量
    def __init__(self,name,age,hobby):
        self.name = name
        self.age = age
        self.hobby = hobby
    def work(self):
        print('%s会工作' % self.name)
    def shop(self):
        print('人类会购物')
# 类名的角度
# 操作类中的静态变量
# 1,__dict__查询类中的所有内容,也可以查询单独一个(但是不能进行增删改)
print(Person.__dict__)  #查询类中的所有内容
print(Person.__dict__['faith'])   #__dict__这种方法只能查,不能进行增删改
# 2,万能的  .  对类中的单个的变量进行增删改查
print(Person.mind)    #查
Person.money='运用货币'   #增
Person.mind='无脑'    #改
del Person.mind    #删
# 操作类中的方法(基本上不用类名去操作)
Person.shop(11)     #基本不用这种方法
# 对象的角度
ret = Person('张三','20','喝茶')  #类名+()的这个过程:实例化的过程(创建一个对象的过程)
print(ret.__dict__)
1,类名+()产生一个实例(对象,对象空间)
2,自动执行类中的__init__方法,将对象空间传给__init__的self参数
3,给对象封装相应的属性
# 对象的角度
# 操作对象中的静态变量(必须要先把对象空间中的参数传给__init__的self参数,就是上面的ret = Person('张三','20','喝茶'))
#         1,__dict__查询对象中的所有的内容
#         2,万能的点  .
print(ret.name)   #查
ret.high = 170   #增
del ret.name   #删
ret.age = 17   #改
print(ret.__dict__)
# 对象调用类中的方法(工作中通过对象执行类中的方法,而不是通过类名)
ret.shop()   #工作中一般用这种方法中子星类中的方法
print(ret)   #这里打印的是内存地址