Python delattr()

La funzione delattr() cancella un attributo dall'oggetto (se l'oggetto lo permette).

La sintassi di delattr() è:

delattr(oggetto, nome)

delattr() prende due parametri:

  • oggetto: l'oggetto da cui deve essere rimosso l'attributo.
  • nome: una stringa che deve essere il nome dell'attributo da rimuovere dall'oggetto

delattr() non restituisce alcun valore (restituisce None). Rimuove solo un attributo.

class Coordinate:
  x = 20
   y = 4 
   z = 1

point1 = Coordinate()

print('x = ',point1.x)
print('y = ',point1.y)
print('z = ',point1.z)

delattr(Coordinate, 'z')

print('x = ',point1.x)
print('y = ',point1.y)
#avviene un errore
print('z = ',point1.z)

Output del codice

x =  20
y =  4
z =  -1
x =  20
y =  4
Traceback (most recent call last):
 File "main.py", line 18, in <module>
   print ('z = ',point1.z)
AttributeError: 'Coordinate' object has no attribute 'z'