PyWombat

Agregar métodos a Clases y objetos

Nuevo tip

En 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()