日常python学习笔记DAY 10—类(面向对象编程)
在这里插入代码片'''
类名的书写规范,建议使用驼峰命名法
大驼峰:Mycar XiaoMi
小驼峰:myCar xiaoMi
一个类有特征和功能两个内容组成:
特征就是一个描述:颜色:白色,品牌:奥迪,排量:2.4 功能就是一个能力:拉货
特征在编程中就是一个变量,在类中成为属性功能在编程中就是一个函数,在类中称为方法
类中得属性一般在方法前面
'''
class Cart():
#属性==>特征==>变量
color='白色'
brand='奥迪'
pailiang=2.4
#方法==>功能==>函数
def lahuo(self):
print('小汽车能拉货')
def doufeng(self):
print('小汽车能兜风')
def bamei(self):
print('带妹子去嗨')
'''
#如何去使用这个类?
#通过类实例化一个对象
'''
aodi=Cart() #奥迪就是对象,Cart就是类
print(aodi,type(aodi))
#调用对象得方法
aodi.bamei()
#获取对象得属性
print(aodi.brand)
#实例化对象
a=Cart()
b=Cart()
print(a,b)
'''
一个类可以实例化多个对象
以上的a和b变量都是对象,也都是通过cart这个类实例化出来的对象,
但是a和b是两个对象,相同之处就在于都同由同一个类实例化出来
'''
#访问成员属性:先访问a对象自己得color属性,没有就去访问这个对象所属类得属性
res=a.color #通过对象访问类中的属性,属性需要print输出
print(res)
res1=a.lahuo() #通过对象访问类中的方法,方法不需要print
a.color='黑色' #修改a对象得属性,b不会发生变化,如果后续删除修改的属性,那么a.color将变为原始的类Cart的color属性
print(a.color)
a.name='A6' #给a对象添加name属性,b不会发生改变
del a.name #删除a对象下得name属性,注意只有添加得属性可以被删除(即只有属于对象a得属性才能被删除,定义好的属性是类Cart的属性)
#在类的外部操作对象的方法
#访问对象的方法:实际上如果这个对象没有自己独立的方法,那么会访问这个对象的类的方法
#修改对象的方法:给对象的方法重新定义
def func():
print('这是一个新的方法')
a.lahuo=func #把一个函数赋值给成员
a.lahuo()
#给对象添加新的方法:给对象自己创建新的方法
a.func2=func
a.func2()
#删除方法(同理只能删除自身的方法,不能删除类的方法,并且删除后对应对象的方法还原为类的方法)
del a.func2
'''
总结:
一个类定义类成员属性和成员方法,那么通过这个类实例化的对象,也具备这些方法和属性吗?
实际上,创建对象的时候,并不会把类中的属性和方法复制一份给对象,而是在对象中引用父类的方法因此在访问对象的属性时,会先去找对象自己的属性,如果没有就去找这个类的属性和方法
一个对象由类创建以后,是一个独立的对象,会引用父类中的属性和方法
如果在对象创建后,给对象的属性或方法,进行修改或添加,那么此时等于给这个对象创建了一个自己的属性和方法所以在删除时,只能删除对象被修改或添加的成员
'''```
```python
在这里插入代码片
s