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