Agregar métodos a Clases y objetos
Nuevo tipEn Python 🐍 es posible agregar nuevos métodos a clases u objetos ya definidos. Basta con utilizar la función setattr.
La función debe recibir 3 argumentos de forma obligatoria.
- Objeto.
- Nombre del atributo, en este caso nombre de la función.
- Nuevo atributo o método a asignar.
class User():
def __init__(self, username):
self.username = username
def say_hello():
print("Hola, soy un nuevo usuario!")
def show_username(self):
print("Mi username es:", self.username)
setattr(User, 'show_username', show_username)
user1 = User('eduardo')
setattr(user1, 'say_hello', say_hello)
user1.say_hello()
user1.show_username()