面向对象 类:就是具有一类特点相似性的一切事物 对象:就是从类具体到,具体的一个东西 想定义什么,就定义什么 我就是上帝 class Human: mind='思想' shpe='信仰' def __init__(self,name,age,hobby): self.n=name self.a=age self.h=hobby print('init') def work(self,a,b): c=a + b # print(c) print('你的名字%s' %self.n) return c def walk(self): print('%s岁可以打篮球' %self.a) rtt=ret.work(1,2) print(rtt) ret.work(1,2) ret.walk() 类 print(Human.mind) #通过类名找静态的量 Human.mind='大哥' #通过类名去改静态变量 Human.hope='希望' #通过类名去增加静态变量 ,加在__dict__后边 Human.__dict__ #只能去查Human类中的所有内容 __dict__的功能一般只用查所有,其它的都不用 print(Human.__dict__['mind']) #类名__dict__里边去找单个的 Human.__dict__['mind']='没有' #是不能去改的 会报错 print(Human.__dict__) Human.work(1,2,3) #通过类直接点 类中的方法 是需要传变量的,而且,括号的slfe 也得传一个给他,不在是生成对象的内存地址,一般不用 对象 print(ret.mind)#通过对象,点 类的静态变量 ret.mind='fdf'#通过对象,点 类的静态变量 是改变不了类的变量,只能是在对象里,封装了一个mind:faf 的键值对 print(ret.__dict__) 对象,在对类的方法调用时,方法里边的第一个变量就是,生成对象的内存地址,,后边的变量的需要一一去传值,并且可以在方法里边去用 生成俩个对象的关系 ret1=Human('大华',18,'唱歌') ret2=Human('大明',12,'跳舞') ret2.work(ret1) #可以把对象1作为参数传到work里边 而work里边的slef就是ret2 ret.a ret点查看 改变都可以