Función Python delattr()
Funciones integradas de Python3
delattr()Es una función integrada en Python utilizada para eliminar atributos de un objeto.
delattr()Puede eliminar el atributo especificado de un objeto. Similar a ladeldeclaración, pero permite especificar dinámicamente el atributo a eliminar mediante una cadena.
Glosario: delattr 是 delete attribute(删除属性)的缩写。
Sintaxis básica y parámetros
Formato de sintaxis
delattr(object, name)
Descripción de parámetros
- Parámetro object:
- Tipo: cualquier objeto
- Descripción: el objeto del que se elimina el atributo.
- Parámetro name:
- Tipo: cadena
- Descripción: el nombre del atributo a eliminar.
Descripción de la función
- Valor de retorno: Sin valor de retorno.
- Excepción: Si el atributo no existe, se lanza AttributeError.
Ejemplos
Ejemplo 1: Uso básico
Ejemplo
class Person:
def __init__(self):
self.name = "Tom"
self.age = 20
self.city = "Beijing"
p = Person()
print(vars(p))
# Salida: {'name': 'Tom', 'age': 20, 'city': 'Beijing'}
# Elimina el atributo
delattr(p, "age")
print(vars(p))
# Salida: {'name': 'Tom', 'city': 'Beijing'}
# Equivale a del p.age
def __init__(self):
self.name = "Tom"
self.age = 20
self.city = "Beijing"
p = Person()
print(vars(p))
# Salida: {'name': 'Tom', 'age': 20, 'city': 'Beijing'}
# Elimina el atributo
delattr(p, "age")
print(vars(p))
# Salida: {'name': 'Tom', 'city': 'Beijing'}
# Equivale a del p.age
Resultado esperado de la ejecución:
{'name': 'Tom', 'age': 20, 'city': 'Beijing'}
{'name': 'Tom', 'city': 'Beijing'}
Análisis del código:
- delattr(p, "age") equivale a del p.age.
Ejemplo 2: Eliminación dinámica
Ejemplo
class Data:
def __init__(self):
self.a = 1
self.b = 2
self.c = 3
d = Data()
print(vars(d))
# Elimina atributos dinámicamente
attrs_to_delete = ["a", "c"]
for attr in attrs_to_delete:
if hasattr(d, attr):
delattr(d, attr)
print(vars(d)) # Salida: {'b': 2}
def __init__(self):
self.a = 1
self.b = 2
self.c = 3
d = Data()
print(vars(d))
# Elimina atributos dinámicamente
attrs_to_delete = ["a", "c"]
for attr in attrs_to_delete:
if hasattr(d, attr):
delattr(d, attr)
print(vars(d)) # Salida: {'b': 2}
Resultado de la ejecución:
Se pueden eliminar múltiples atributos dinámicamente.
delattr()Combinado conhasattr()su uso es más seguro.
Funciones integradas de Python3
Otras extensiones