赞
赏
Python 的 类属性 的删除有两种方法,即:使用 del 语句和使用 delattr 函数,del 语句和 delattr 函数不仅可以删除类属性还可以删除动态添加的类属性。
del Classname.attr
参数 | 描述 |
---|---|
Classname | 需要删除的类。 |
attr | 需要删除的属性。 |
使用 del 语句,删除类 Classname 的 attr 属性。
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)
程序运行后,控制台输出如下:
我们创建了一个类 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)
程序运行后,控制台输出如下:
我们使用 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)
程序运行后,控制台输出如下:
我们使用 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)
程序运行后,控制台输出如下:
我们使用 delattr 函数,删除了类 Student 的动态添加的类属性 name,删除完之后,再次访问该属性,程序报错。
Python 的类属性的删除有两种方法,即:使用 del 语句和使用 delattr 函数,del 语句和 delattr 函数不仅可以删除类属性还可以删除动态添加的类属性。Python del 语句删除类属性语法:
del Classname.attr
Python delattr 语句删除类属性语法:
delattr(Classname, attr)