1.0---面向对象的概念 . 类: 具有相同属性和技能的一类事物; (人类就可以作包含了多个对象(人)的类) 对象: 具体类的表现,具体到个体,实实在在的一个实例; (高小波是一个人,就是人类中实实在在的个体)
为什么要学习类,对象:** 可以将代码形成一个个代码块,这些代码块可以进行相互间的操作(类间的继承,对象对类的操作),有利于代码的规范和引用** . **2.0---**类的格式 . 类体: 包括俩部分 变量部分(静态变量) ,方法(函数)部分(普通函数,构造方法)
class Person: # Person 类名
name='有名字' # 静态变量,(也叫静态字段)
animal='高级动物'
faith='有信仰'
def work(self): # 方法(函数)
print('有没有工作')
def house(self):
print(self)
print('有没有房子')
. **3.0---**面向对象的操作 . 对类的操作可以从俩个角度来讲:通过类名对类进行操作,通过对象对类进行操作 从类名的角度: . a.-- dict Person.dict 操作 查询类中的所有内容;不能进行增删改操作 **b.--**万能的 . (可实现增删改查)
print(Person.name) # 查
Person.age=25 # 增 在类的函数中也可以操作
Person.name='高波' # 改
del Person.animal # 删
操作类中的方法(在工作中基本不用)
Person.work(11)
. 从对象的角度
class Person:
name='有名字' # 静态变量,或者是静态字段
animal='高级动物'
faith='有信仰'
def __init__(self,name,age,sex,hobby): # 构造方法(每个类都要有构造方法)
self.name=name
self.age=age
self.sex=sex
self.hobby=hobby # 给对象封装相应的属性(变量,可控);
def work(self):
print('有没有工作')
def house(self):
print(self)
print('有没有房子')
ret=Person('高波',25,'boy','不知道')
默认将Person的空间地址传给self,其他得参数会依次传入
#1, 类名+()产生一个实例(对象,对象空间.)
#2, 自动执行类中的__init__方法,将对象空间传给__init__的self参数,
#3, 给对象封装相应的属性(变量). 可控的
自动执行类中的__init__方法,将对象空间传给__init__的self参数,
Person() # 类名+() 的这个过程:实例化的过程(创建一个对象的过程)
Person() 实例化对象,实例,对象
**a.--**操作对象中的静态变量 1.0 dict 查询对象中的所有内容 2.0 万能的 .
print(ret.name)
ret.hith=1.68
del ret.hobby
ret.name='高小波'
print(ret.__dict__)
**b.--**对象操作类中的静态变量
print(ret.name) # 如果对象中有就会先查询对象中的,没有的得话,向上一步查询类中的 print(ret.faith) **c.--**对象操作类中的方法 (工作中,通过对象) ret.work() ret.house()