Documente Academic
Documente Profesional
Documente Cultură
Entonces, a partir de estos prototipos (clases) podemos crear mas objetos que
adquieran estos atributos, caracter�sticas y comportamientos en com�n.
Saber aplicar las clases y m�todos te servir� para definir tus propios tipos de
datos y te permitir� crear objetos de ese tipo.
La clase humano contiene m�todos humanos como hablar, correr. Y la clase marciano
posee el m�todo de abducci�n.
Abducci�n
Declaraci�n
Y cuando asignamos la clase a un objeto:
Objeto = Nombredelaclase(argumentos)
Ahora llevemos esto al c�digo, para crear una clase en python lo hacemos de la
siguiente manera:
class Nombredelaclase(object):
def __init__(self, atributos):
self.atributos = atributos #3
1
2
3
class Nombredelaclase(object):
def __init__(self, atributos):
self.atributos = atributos #3
Vamos a tratar de explicar este c�digo para aquellos que se inician en python y
adem�s te voy a dejar una recomendaci�n:
La palabra reservada class indica que luego de la misma se especificar� una nueva
clase. Entre par�ntesis especificamos tambi�n que esta clase nueva hereda de
object. Y siempre debemos tratar de heredar de object o de otra clase.
Cuando utilizamos def estamos definiendo los atributos a trav�s de __init__ que es
el m�todo constructor en Python. Y siempre se ejecuta cuando se crea un objeto.
Self se refiere al objeto instanciado de esa clase sobre el cual se est� invocando
dicho m�todo. Es decir, el objeto que usamos para llamar el m�todo (#3) [Significa
�yo� refiri�ndonos a la clase]. Pero el uso de self es solo una buena pr�ctica
recomendada, no es una palabra reservada de uso obligatorio por lo que podr�amos
usar cualquiera.
En este caso ahora vamos a crear la clase Humano con el atributo Edad y Nombre. Y
la clase Marciano con el atributo Siglos y Serial (identificaci�n de un androide):
#!/usr/bin/env python
# -*- coding: utf-8 -*-
class Humano: #Creamos la clase Humano
def __init__(self, edad, nombre): #Definimos el atributo edad
self.edad = edad # Definimos que el atributo edad, sera la edad asignada
self.nombre = nombre # Definimos que el atributo nombre, sera el nombre
asig
<class �__main__.Humano�>
<class �__main__.Humano�>
<class �__main__.Marciano�>
Lo que nos indica que los primeros dos objetos corresponden a la clase Humano y el
�ltimo a la clase Marciano.
Atributos
Los objetos cuentan con elementos que almacenan datos y otros que ejecutan
acciones. A estos elementos que almacenan datos los definimos como atributos. Y los
definimos as�:
Vamos ahora a imprimir el atributo edad o siglo del objeto seg�n corresponda:
print (Pedro.edad)
print (Manuela.edad)
print (Androide.siglos)
1
2
3
print (Pedro.edad)
print (Manuela.edad)
print (Androide.siglos)
Resultado:
25
27
2
M�todos
Los m�todos de los objetos vendr�an a ser los elementos que ejecutan acciones y se
definen al igual que las funciones en python (def) pero dentro de la clase. Podemos
ver a un m�todo como las �acciones que los objetos pueden realizar�, en el caso del
ejemplo anterior podr�an ser hablar, correr o en el caso de la clase marciano la
abducci�n.
A�adir m�todos
Ahora vamos a a�adirle a estas clases los m�todos que tendr�n estos objetos y lo
hacemos como si fuera una funci�n dentro de la clase correspondiente:
Ha corrido 12 km
Pedro Rosendo
� uff, Hola
00199017 ha abducido a Pedro Rosendo usando ondas
Has visto qu� gran utilidad tienen las clases y m�todos. Seguro se te han ocurrido
miles de ideas! En fin aqu� te dejo el c�digo completo para que juegues con el!
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
class Humano(object): #Creamos la clase Humano
def __init__(self, edad, nombre): #Definimos el atributo edad
self.edad = edad # Definimos que el atributo edad, sera la edad asignada
self.nombre = nombre # Definimos que el atributo nombre, sera el nombre
asig
Ejercicio
Te dejo un ejercicio: Puedes agregar un limite al poder de abducci�n de nuestro
androide en km, y dependiendo los kil�metros que corra Pedro, ser� abducido o no!
Lo resolvemos?. Venga que para eso somos programadores semi androides! Solo debemos
agregar un condicional if / else dentro de un bucle while. Y utilizar los m�todos
y atributos para imprimir el resultado! Te dejo el c�digo completo en un spoiler: