Python动态添加实例属性

Python动态添加实例属性教程

Python实例属性 也是可以像 类属性 一样进行动态的增加和 删除。动态增加的实例属性只属于实例对象私有,而不是所有对象公有。

Python动态添加实例属性详解

语法

ins.attr = value

参数

参数 描述
ins 需要动态添加属性的对象。
attr 需要添加的属性名。
value 需要添加的属性的值。

说明

我们可以直接使用 “实例.属性 = 值” 的形式,给实例动态地添加一个实例属性。

案例

动态添加实例属性

给 Python 中的实例动态添加属性

print("嗨客网(www.haicoder.net)") class Student: score = 99.95 def __init__(self): pass stu = Student() stu1 = Student() stu.course = "Python" stu1.address = "ShangHai" print("Course =", stu.course, "Score =", stu.score) print("Address =", stu1.address, "Score =", stu1.score)

程序运行后,控制台输出如下:

19_python动态添加实例属性.png

我们创建了一个类 Student,接着,为该类添加了一个类属性 score,和一个 __init__ 方法。

接着,我们实例化了两个 Student 类的实例,分别为 stu 和 stu1, 同时,我们动态地为 stu 实例添加了一个 course 实例属性,动态地为 stu1 实例添加了一个 address 实例属性。

最后,我们可以分别访问各自实例动态添加的实例属性。

动态添加实例属性

给 Python 中的实例动态添加属性

print("嗨客网(www.haicoder.net)") class Student: score = 99.95 def __init__(self): pass stu = Student() stu1 = Student() stu.course = "Python" stu1.address = "ShangHai" print("Course =", stu.course, "Address =", stu.address) print("Address =", stu1.address, "Score =", stu1.score)

程序运行后,控制台输出如下:

20_python删除类属性.png

我们为实例 stu 添加了 course 属性,为实例 stu1 添加了 address 属性,最后,我们使用实例 stu 访问 address 属性,程序报错,因为动态添加的实例属性同样只属于本实例私有。

Python动态添加实例属性总结

Python 的实例属性也是可以像类属性一样进行动态的增加和删除。动态增加的实例属性只属于实例对象私有,而不是所有对象公有。Python 动态添加实例属性语法:

stu.attr = value

我们可以直接使用 “实例.属性 = 值” 的形式,给实例动态地添加一个实例属性。