Función Python delattr()

Python3 内置函数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

Resultado esperado de la ejecución:

{'name': 'Tom', 'age': 20, 'city': 'Beijing'}
{'name': 'Tom', 'city': 'Beijing'}

Análisis del código:

  1. 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}

Resultado de la ejecución:

Se pueden eliminar múltiples atributos dinámicamente.

delattr()Combinado conhasattr()su uso es más seguro.


Python3 内置函数Funciones integradas de Python3


Otras extensiones