Métodos
Un método es una tarea que pertenece a una sola lámpara. lamp.label() ejecuta esa tarea y te devuelve las palabras glow blue. Los paréntesis forman parte de ejecutarla: sin ellos la tarea no se ha ejecutado y la pantalla no muestra glow blue. label usa la palabra que ya está guardada en esa lámpara. No instala ningún paquete ni crea ninguna carpeta. Las líneas con sangría bajo label son la tarea. return devuelve las palabras, pero no las escribe en la pantalla por sí solo.
class Lamp:
def __init__(self, color):
self.color = color
def label(self):
return "glow " + self.color
lamp = Lamp("blue")
print(lamp.label())
La pantalla muestra glow blue, con un espacio entre glow y blue. label armó esas palabras a partir del color guardado y las devolvió. print es quien las escribe. Si faltara la línea con print, el método seguiría devolviendo las palabras y la pantalla quedaría vacía. lamp.color sigue siendo la palabra guardada, blue. lamp.label() es la tarea que pone glow delante. No es lo mismo leer una que la otra.
class Lamp:
def __init__(self, color):
self.color = color
def label(self):
return "glow " + self.color
one = Lamp("blue")
two = Lamp("red")
print(one.label())
print(two.label())
Dos líneas: primero glow blue, después glow red. one y two son dos lámparas. Cada label lee solo la palabra guardada en su propia lámpara. Crear la lámpara con red no cambia la de blue: one.label() sigue siendo glow blue. Lamp sigue siendo el molde, y one y two son los objetos. La tarea es la misma, y la palabra guardada cambia en cada lámpara.
Lamp.label() sin lámpara no aparece en ninguno de los dos programas. El molde no tiene un color guardado propio, y la tarea necesita una lámpara de la que leer. El programa se detiene en esa línea y el error se llama TypeError. No se escribe None y el programa no continúa. Primero creas una lámpara y luego escribes los paréntesis sobre esa lámpara.
La página siguiente trata de la herencia. Esta página solo ejecuta una tarea en una lámpara y luego muestra que una segunda lámpara conserva sus propias palabras.
Una tarea en la lámpara
lamp.label() muestra glow blue. print escribe las palabras, y el método solo las devuelve. Una segunda lámpara puede mostrar glow red sin cambiar la primera. Lamp.label() sin lámpara se detiene con TypeError. La página siguiente trata de la herencia.
🧠 Pon a Prueba tu Conocimiento
Pon a Prueba tu Conocimiento
Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema
📝 Instrucciones
- Lee cada pregunta cuidadosamente
- Selecciona la mejor respuesta para cada pregunta
- Puedes repetir el quiz tantas veces como quieras
- Tu progreso se mostrará en la parte superior