制心一处,无事不办.

总结:
一个类定义类成员属性和成员方法,那么通过这个类实例化的对象,也具备这些方法和属性吗?
实际上,创建对象的时候,并不会把类中的属性和方法复制一份给对象.而是在对象中引用父类的方法
因此在访问对象的属性时,会先去找对象自己的属性,如果没有就去找这个类的属性和方法

一个对象由类创建以后,是一个独立的对象.会引用父类中的属性和方法
如果在对象创建后,给对象的属性或方法,进行修改或添加,那么此时等于给这个对象创建了一个自己的属性和方法
所以在删除时,只能删除对象被修改或添加的成员

#定义一个汽车类
class Car():

  1. _#属性<br /> _color = **'白色'<br /> **brand = **'奥迪'<br /> **lengh = 6.5
  2. _#方法<br /> _**def **doufeng(self):<br /> print(**'带妹子兜风'**)<br /> **def **lahuo(self):<br /> print(**'可以拉货'**)

_#实例化一个对象a
_a = Car()

对象的成员操作:

一: 在类的外部 使用对象操作 属性

_#1:通过对象访问类中的属性
_res = a.color

#2:修改对象的属性,相当于给对象a创建了自己的color属性
_a.color = ‘黑色’
del
a.color
#因此可以删除
_print(a.color)

_#3:给对象添加属性,此时的name只属于当前a这个对象
_a.name = **’A6’

#4:删除属性:只能删除这个对象自己的属性,包括给对象添加的和修改的
del a.name #可以删除
del **a.brand _#不可以删除
_print(a.name)

_#删除一个对象的属性时,只能删除当前这个对象自己的属性才可以
#上面例子中的brand属性并不是a对象自己的属性,而是属性Car这个类.因此不能删除,
# 而name这个属性,是单独给a对象添加的属性,因此可以删除

_

二:在类的外部 使用对象操作 方法

res = a.lahuo() #通过对象访问类中的方法

#修改对象的方法
def func():
print(‘这是一个新的方法’)
a.doufeng = func#把一个函数赋值给成员
_a.doufeng()
#去调用方法

添加新的方法:给这个对象自己新创建的方法
_a.func2 = func

#删除方法
del a.func2#可以删除
del a.doufeng_#可以删除

del a.lahuo#不可以删除这个对象类的方法_