Saltar a contenido

Propiedades

Las propiedades son variables que van precedidas por el nombre del objeto, y que se almacenan como parte de este.

Definiendo propiedades

Clases4.py
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
class Loro:

    def __init__(self, nombre):
        self.nombre = nombre
        print ("Creando loro", nombre)

    def saludo(self):
        print ("Hola", self.nombre)

    def despedida(self):
        print ("Adios", self.nombre)

Poly = Loro("Poly")
Jenny = Loro("Jenny")

Poly.saludo()
Poly.despedida()

Jenny.saludo()
Jenny.despedida()

Típicamente, las propiedades se crean en el método __init__()

Hacemos referencia a las propiedades mediante:

  • desde un método: self.nombre_propiedad
  • desde fuera de la clase: nombre_objeto.nombre_propiedad

Examinar objetos

La función dir() proporciona una lista de los métodos y propiedades de un objeto:

Clases5.py
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
class Loro:

    def __init__(self, nombre):
        self.nombre = nombre
        print ("Creando loro", nombre)

    def saludo(self):
        print ("Hola", self.nombre)

    def despedida(self):
        print ("Adios", self.nombre)

Poly = Loro("Poly")

print("\nContenido de Poly:")
lista = dir(Poly)
for elemento in lista:
    print(elemento)

Esto muestra una serie de métodos y propiedades heredados del mecanismo interno de Python, más los que hemos añadido nosotros:

nombre
saludo
despedida

Python suele añadir prefijos y sufijos formados por caracteres de subrayado en el caso de identificadores de uso interno.