Python删除类属性

Python删除类属性教程

Python类属性 的删除有两种方法,即:使用 del 语句和使用 delattr 函数,del 语句和 delattr 函数不仅可以删除类属性还可以删除动态添加的类属性。

Python del语句删除类属性详解

语法

del Classname.attr

参数

参数 描述
Classname 需要删除的类。
attr 需要删除的属性。

说明

使用 del 语句,删除类 Classname 的 attr 属性。

Python delattr语句删除类属性详解

语法

delattr(Classname, attr)

参数

参数 描述
Classname 需要删除的类。
attr 需要删除的属性。

说明

使用 delattr 函数,删除类 Classname 的 attr 属性。

案例

删除类属性

使用 del 删除类属性

print("嗨客网(www.haicoder.net)") class Student: score = 99.95 def __init__(self): pass print("before del score =", Student.score) del Student.score print("Course =", Student.score)

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

21_python删除类属性.png

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

接着,我们直接打印类 Student 的类属性 score,此时可以正确获取该属性,我们再使用 del 语句,删除 Student 的类属性 score,最后,再次获取类属性 score。

最后,我们发现,再使用 del 删除类属性之后,发现此时再次访问类属性,程序报错,因此,此时属性已经被删除了。

删除类属性

使用 delattr 删除类属性

print("嗨客网(www.haicoder.net)") class Student: score = 99.95 def __init__(self): pass print("before del score =", Student.score) delattr(Student, 'score') print("Course =", Student.score)

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

22_python删除类属性.png

我们使用 delattr 函数,同样删除了类 Student 的类属性 score,删除完之后,再次访问该属性,程序报错。

删除类动态属性

使用 del 删除类动态属性

print("嗨客网(www.haicoder.net)") class Student: score = 99.95 def __init__(self): pass Student.name = "HaiCoder" print("before del name =", Student.name) del Student.name print("name =", Student.name)

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

23_python删除动态添加类属性.png

我们使用 del 语句,删除了类 Student 的动态添加的类属性 name,删除完之后,再次访问该属性,程序报错。

删除类动态属性

使用 delattr 删除类动态属性

print("嗨客网(www.haicoder.net)") class Student: score = 99.95 def __init__(self): pass Student.name = "HaiCoder" print("before del name =", Student.name) delattr(Student, 'name') print("name =", Student.name)

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

24_python删除动态添加类属性.png

我们使用 delattr 函数,删除了类 Student 的动态添加的类属性 name,删除完之后,再次访问该属性,程序报错。

Python删除类属性总结

Python 的类属性的删除有两种方法,即:使用 del 语句和使用 delattr 函数,del 语句和 delattr 函数不仅可以删除类属性还可以删除动态添加的类属性。Python del 语句删除类属性语法:

del Classname.attr

Python delattr 语句删除类属性语法:

delattr(Classname, attr)