Anatomía de una clase: atributos y métodos

Introducción a la programación orientada a objetos en Python

George Boorman

Curriculum Manager, DataCamp

Una clase Customer

class Customer:

# Aquí va el código de la clase
pass
  • class <name>: inicia una definición de clase
  • El código dentro de class va con sangría
  • Usa pass para crear una clase "vacía"
c_one = Customer()
c_two = Customer()
  • Usa ClassName() para crear un objeto de la clase ClassName
Introducción a la programación orientada a objetos en Python

Añadir métodos a una clase

class Customer:  

def identify(self, name): print("I am Customer " + name)
  • Definir un método = definir una función dentro de una clase
  • Usa self como primer argumento en la definición del método
cust = Customer()
cust.identify("Laura")
I am Customer Laura
  • Omite self al llamar a un método en un objeto
Introducción a la programación orientada a objetos en Python
class Customer:  
    def identify(self, name):
        print("I am Customer " + name)

cust = Customer()
cust.identify("Laura")

¿Qué es self?

  • Las clases son plantillas
  • self debe ser el primer argumento de cualquier método
  • self representa un objeto (aún no creado)
  • cust.identify("Laura") se interpreta como Customer.identify(cust, "Laura")
Introducción a la programación orientada a objetos en Python

Necesitamos atributos

  • La POO agrupa datos con métodos que operan sobre ellos
    • El nombre de Customer debe ser un atributo

 

$$\text{\Large{Los atributos se crean asignando (=) en métodos}}$$

Introducción a la programación orientada a objetos en Python

Añadir un atributo a la clase

class Customer:  
    # Establece el atributo name de un objeto a new_name
    def set_name(self, new_name):

# Crea un atributo asignando un valor # Creará .name cuando se llame a set_name self.name = new_name
# Crea un objeto # .name aún no existe aquí cust = Customer()
# .name se crea y se asigna a "Lara de Silva" cust.set_name("Lara de Silva")
print(cust.name)
Lara de Silva
Introducción a la programación orientada a objetos en Python

Versión antigua

class Customer:  



    # Usando un parámetro
    def identify(self, name):
        print("I am Customer" + name)
cust = Customer()

cust.identify("Eris Odoro") 
I am Customer Eris Odoro 

Versión nueva

class Customer:  
   def set_name(self, new_name):
       self.name = new_name

# Usando .name del propio objeto def identify(self): print("I am Customer" + self.name)
cust = Customer()
cust.set_name("Rashid Volkov")
cust.identify()
I am Customer Rashid Volkov
Introducción a la programación orientada a objetos en Python

¡Vamos a practicar!

Introducción a la programación orientada a objetos en Python

Preparing Video For Download...