面向对象初识 类:具有相同属性和技能的一类事物 对象:具体的类的表现,具体的实实在在的一个实例 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) #这里打印的是内存地址