Está en la página 1de 6

Laboratorio - Revisión de clases de Python

Objetivos
Parte 1: Iniciar la máquina virtual (Virtual Machine) de DEVASC.
Parte 2: Revisar funciones, métodos y clases
Parte 3: Definir una función
Parte 4: Definir una clase con métodos
Parte 5: Revisar el script circleClass.py

Aspectos básicos/Situación
En este laboratorio, revisa los métodos, funciones y clases de Python. A continuación, se crea una clase y se
crea una instancia varias veces con diferentes valores. Finalmente, revisa el ejemplo de clase Circle utilizado
en el curso.

Recursos necesarios
• Una computadora con el sistema operativo de su elección.
• VirtualBox o VMware.
• Máquina virtual (Virtual Machine) DEVASC.

Instrucciones

Parte 1: Inicie la máquina virtual (Virtual Machine) de DEVASC.


Si aún no ha completado el Laboratorio: Instalar el Entorno de Laboratorio de Máquina Virtual, hágalo
ahora. Si ya ha completado ese laboratorio, ejecute la máquina virtual (Virtual Machine) de DEVASC ahora.

Parte 2: Revisar funciones, métodos y clases.


En esta parte, revise la diferencia entre funciones y métodos. También revise la estructura básica de una
clase.

Paso 1: ¿Qué es una función?


Como revisión rápida, recuerde que una función es un bloque de código definido de forma independiente que
se llama por su nombre. En el siguiente ejemplo, se define la función denominada functionName y, a
continuación, se llama. Observe que es un bloque independiente de código. No está encapsulado en ningún
otro código.
#Define the function
def functionName:
... blocks of code...

#Call the function


functionName()

© 2020 - 七七七七 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 1 de 6
www.netacad.com
Laboratorio - Revisión de clases de Python

Paso 2: ¿Qué es un método?


Un método, sin embargo, no se puede llamar por sí mismo. Depende del objeto en el que se define. En el
siguiente ejemplo, se declara la clase ClassName y se definen tres métodos. Se crea una instancia de la
clase y luego se llama a cada método de la clase.
Nota: Este pseudo-código no muestra explícitamente el constructor de clase __init__ método con la variable
self. Este método especial se revisa a continuación.
# Define the class
class className

# Define a method
def method1Name
...blocks of code

# Define another method


def method2Name
...blocks of code

# Define yet another method


def method3Name
...blocks of code

# Instantiate the class


myClass = className()

# Call the instantiation and associated methods


myClass.method1Name()
myClass.method2Name()
myClass.method3Name()

Parte 3: Definir una función


En esta parte, definirá una función con argumentos y luego llamará a la función.
a. Abra un nuevo archivo de texto y guárdelo como myCity.py en su directorio ~/labs/devnet-src/python.
b. Defina la función myCity con el argumento city para el nombre de la ciudad. Cuando se llama a la
función con un nombre de ciudad especificado, imprime una instrucción que incluye el nombre de la
ciudad.
def myCity (city):
print ("Vivo en" + city +".")

c. Llame a la función myCity pasando diferentes valores para city, como se muestra en los siguientes
ejemplos.
MyCity ("Austin")
MyCity ("Tokio")
MyCity ("Salzburgo")
d. Guarde y ejecute el archivo myCity.py. Debería ver el siguiente resultado:

© 2020 - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 2 de 6
www.netacad.com
Laboratorio - Revisión de clases de Python

devasc @labvm: ~/labs/devnet-src/python$ python3 myCity.py


Vivo en Austin.
Vivo en Tokio.
Vivo en Salzburgo.
devasc@labvm:~/labs/devnet-src/python$

Parte 4: Definir una clase con métodos


En esta parte, definirá una clase, usará la función __init__ () para definir un método para la clase y, a
continuación, creará instancias de la clase.

Paso 1: Defina y luego, instancie una clase con el método __init__ ().
Una clase Python se utiliza para crear objetos que tienen propiedades y métodos. Todas las clases de
Python suelen incluir una función __init__ () definida explícitamente, aunque puede crear una clase sin
definir una. La función __init__ () siempre se inicia cuando se crea una instancia de una clase. Instanciar
una clase crea una copia de la clase que hereda todas las variables y métodos de clase.
Nota: Aunque a veces se le llama la función __init__ (), depende de la clase. Por lo tanto, técnicamente
es un método.
a. Abrir un nuevo archivo de texto y guárdelo como myLocation.py.
b. Definir una clase con el nombre Ubicación y pulse Enter. Si está trabajando es VS Code, entonces el
editor de texto debe hacer sangría automáticamente cuatro espacios.
class Location:
|<— el cursor debería estar aquí

c. A continuación, defina la función __init__ (). Por convención, el primer parámetro se llama self. El
parámetro self es una referencia a la instancia actual de la clase misma y se utiliza para acceder a
variables que pertenecen a toda la clase. A continuación, se le asigna a la función __init__ () cualquier
variable que necesite toda la clase. En el ejemplo siguiente, defina un nombre y una variable de país.
Pulse Enter dos veces y, a continuación, retroceda dos veces hasta el margen izquierdo.
def __init__(self, name, country):
self.name = name
self.country = country

|<— el cursor debería estar aquí


d. Puede probar que esta clase ya está lista para usar. Instancie la clase asignándole un nombre de su
elección. A continuación, especifique los valores para el nombre y el país de las variables de clase
requeridas. En el ejemplo siguiente se utiliza la clase Location para crear una instancia de una clase
llamada loc con un nombre y un país especificados por usted. Usa tu nombre y país.
loc = Location("Your_Name", "Your_Country")
e. Para comprobar que la clase loc instanciada tiene ahora su nombre y país asignados, agregue
instrucciones de impresión al script.
print (loc.name)
print (loc.country)
f. Para verificar que el loc es realmente una clase, agregue la siguiente declaración de impresión que
imprimirá el tipo de datos para loc.
print(type(loc))
g. Guardar y ejectuar el script. Debe obtener la siguiente salida excepto con su nombre y país
suministrados.

© 2020 - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 3 de 6
www.netacad.com
Laboratorio - Revisión de clases de Python

devasc @labvm: ~/labs/devnet-src/python$ python3 myLocation.py


Your_Name
Your_Name
<class '__main__.Location'>
devasc@labvm:~/labs/devnet-src/python$

Paso 2: Agregue un método a la clase Location.


Ahora agregue un método a la clase Location que puede ser llamado por un programador cuando se crea
una instancia de la clase. En este simple ejemplo, cree un método para imprimir la declaración, "Mi nombre
es [nombre] y vivo en [país]".
a. Elimine el código que comienza con la instanciación de la clase loc. Su secuencia de comandos
myLocation.py ahora sólo debe incluir el siguiente código.
class Location:
def __init__(self, name, country):
self.name = name
self.country = country
b. Con el cursor al final de la línea self.country = country, presione la tecla Enter dos veces y retroceda
una vez.
self.country = country

|<—El cursor debería estar aquí


c. Defina un nuevo método de llamada a MyLocation y asignele el parámetro self para que el nuevo
método pueda acceder a las variables definidas en la función __init__ (). A continuación, defina una
declaración de impresión para imprimir la string especificada anteriormente.
Nota: La declaración de impresión debe estar en una línea.
def MyLocation (self):
print("Hi, my name is " + self.name + " and I live in " +
self.country + ".")
d. Presione la tecla Enter dos veces y retroceda dos veces.
e. Guarde y ejecute el script para asegurarse de que no haya errores. Todavía no obtendrá ninguna salida.

Paso 3: Instancie la clase Location varias veces y llame al método MyLocation.


Ahora que tiene una clase, puede instanciarla tantas veces como desee proporcionando diferentes valores
para las variables de clase cada vez.
a. Agregue el siguiente código a la secuencia de comandos myLocation.py para crear una instancia de la
clase Location y llamar al método. No es necesario agregar los comentarios.
# Primera instancia de la ubicación de la clase
loc1 = Location("Tomas", "Portugal")
# Llamar a un método de la clase instanciada
loc1.myLocation()
b. Guardar y ejectuar el script. Debería ver el siguiente resultado:
devasc @labvm: ~/labs/devnet-src/python$ python3 myLocation.py
Hi, my name is Tomas and I live in Portugal.
devasc@labvm:~/labs/devnet-src/python$

© 2020 - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 4 de 6
www.netacad.com
Laboratorio - Revisión de clases de Python

c. Agregue dos instancias más y luego una cuarta donde especifique el nombre y los valores de your_loc.
loc2 = Location("Ying", "China")
loc3 = Location("Amare", "Kenya")
loc2.myLocation()
loc3.myLocation()
your_loc = Location("Your_Name", "Your_Country")
Su_loc.miUbicación ()
d. Guardar y ejectuar el script. Debería ver el siguiente resultado:
devasc @labvm: ~/labs/devnet-src/python$ python3 myLocation.py
Hi, my name is Tomas and I live in Portugal.
Hi, my name is Ying and I live in China.
Hi, my name is Amare and I live in Kenya.
Hi, my name is Your_Name and I live in Your_Country.
devasc@labvm:~/labs/devnet-src/python$

Paso 4: Revise el script myLocation.py por completo.


Si ha tenido algún error con el script, revise el siguiente ejemplo, que incluye todo el código utilizado en esta
parte.
# Defina una clase con variables para **name** y **country**.
# Luego defina un método que pertenece a la clase. El método
# propósito es imprimir una frase que usa las variables.
class Location:
def __init__(self, name, country):
self.country = country
self.country = country

def MyLocation (self):


print("Hi, my name is " + self.name + " and I live in " +
self.country + ".")

# Primera instancia de la clase Location


loc1 = Location("Tomas", "Portugal")
# Llamar a un método de la clase instanciada
loc1.myLocation()

# Tres instancias más y llamadas a métodos para la clase Location


loc2 = Location("Ying", "China")
loc3 = Location("Amare", "Kenya")
loc2.myLocation()
loc3.myLocation()
your_loc = Location("Your_Name", "Your_Country")
Su_loc.miUbicación ()

© 2020 - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 5 de 6
www.netacad.com
Laboratorio - Revisión de clases de Python

Parte 5: Revisar el script circleClass.py


El ejemplo del curso muestra cómo crear una clase que calcula la circunferencia de un círculo y luego
imprimir el valor calculado. Hay algunas cosas a tener en cuenta en este script.
• La clase incluye tres métodos, incluyendo la función __init__ (). La función __init__ () proporciona un
método para introducir el valor del radio.
• El método de circunferencia calcula la circunferencia y devuelve el valor que la almacena en la variable
CircumferenceValue.
• El método PrintCircumference imprime una string. Observe que las variables se proyectan como strings
con la función str (). De lo contrario, la instrucción print arrojaría un error porque self.radius y
MyCircumference no son strings.
• La clase Circle se instanció tres veces.
# Dado un valor de radio, imprima la circunferencia de un círculo.
# La fórmula para una circunferencia es c = pi * 2 * radio

class Circle:

def __init__ (self, radio):


self.radius = radio

def circumference(self):
pi = 3,14
CircunferenceValue = pi * self.radius * 2
return circumferenceValue

def PrintCircunferencia (self):


myCircumference = self.circumference()
print ("Circumference of a circle with a radius of " + str(self.radius)
+ " is " + str(myCircumference))

# Primera instancia de la clase Circle.


circle1 = Circle(2)
# Llame a la PrintCircumference para la clase circle1 instanciada.
circle1.printCircumference()

# Dos instancias más y llamadas a métodos para la clase Circle.


circle2 = Circle(5)
circle2.printCircumference()

circle3 = Circle(7)
circle3.printCircumference()
Fin del documento

© 2020 - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 6 de 6
www.netacad.com

También podría gustarte