提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
学习内容
面向对象在python中的实践
一.如何定义一个类
1.定义一个类
class Money:
pass
类名需要满足驼峰规范
python里面类有经典类,新式类
2.根据这个类,实例化一个对象
one = Money() # one 是 Money 类的一个对象
如何查看一个对象所属的类?
one.__class__
3.属性相关
属性只能通过对象来访问,可分对象属性,类属性
二、对象属性–操作
1.添加操作
直接通过对象,动态添加 p.age = 18
# 定义一个类
class Person:
pass
#根据类,创建一个对象
P = Person()
# 给p对象,增加一些属性
p.age = 18
# 验证是否添加成功
print(p.age)
p.__dict__ #可以查看p对象所有的属性 返回的是字典
2.查询操作(访问操作)
对象.属性
3.修改操作
p.pets = ["小花" , "小黑"]
p.pets.append("小黄")
4.删除操作
p.age = 18
del p.age
5.注意
不同对象之间的属性不能互相访问
三.类属性
万物皆对象,类也是一个对象
1.增加属性
方式一:
类名.属性 = 值
class Money:
pass
Money.count = 1
方式二:
class Money:
age = 18
count = 1
num = 666
2.查询属性
类.类属性
对象.对象属性
查询时,优先到对象自身去查找属性,如果没找到,则根据__class__
找到对象对应的类,到类里面查找
3.修改操作
4.删除操作
del 类名.类属性
del 只能删除自己的直系属性
5.注意事项
(1)类属性的内存存储
类的__dict__默认是只读的,不能被修改的,可通过别的方法修改
对象的__dict__是可以被修改的
one.__dict__ = {"name":"sz" , "age":18}
one.__dict__["age"] = 999
(2)类属性会被各个对象所共享
(3)限制对象属性的添加__slots__
class Person:
__slots__ = ["age"] #后续对象只有age属性可添加,可改
pass
p1 = Person()
p2 = Person()