viernes, 10 de mayo de 2013

Tutorial Python IV: funciones, clases y objetos

< Tutorial III:

Hasta ahora hemos visto fundamentos del lenguaje, pero para poder utilizar toda la potencia de un lenguaje de programación orientado a objetos necesitamos precisamente eso: aprender a diseñar clases e instanciar objetos.

CLASES


Usaremos la palabra reservada class para definir el nombre de la clase seguido de dos puntos y el cuerpo de la clase.

class persona:
     def __init__(self,nombre,edad):
          self.nombre = nombre
          self.edad = edad
     def mayordeedad(self):
          if self.edad > 18:
               print("Es mayor de edad")
          else
               print("No es mayor de edad)

Podemos observar la sentencia __init__, el constructor de la clase. Con la instrucción def podemos definir métodos (tanto el constructor como el resto).


OBJETOS


Instanciamos el objeto de la clase definida anteriormente mediante la sentencia:

empleado = persona("Pepe",33)

En esta sentencia invocamos el método constructor de la clase con los parámetros adecuados para inicializar las variables de clase.

Podemos acceder a los atributos de un objeto con el operador punto:

print(empleado.nombre,"tiene",edad)

FUNCIONES

Definimos las funciones del mismo modo que los métodos de una clase (con la palabra reservada def). Las funciones en Python siempre devuelven un valor usando return. Si no lo hacemos de forma explícita la función devolverá None.

def cuadrado(numero):
     print(numero ** 2)

Esta función se invoca con la sentencia
cuadrado(4)

Según comentamos antes, podemos devolver un valor con return

def cuadrado(numero)
     return numero ** 2

Y la invocación sería

print(cuadrado(4))


CONCLUSIÓN

Como habéis podido comprobar, Python es un lenguaje extraordinariamente sencillo. Pero que no os lleve a engaño, también es un potente y completo lenguaje orientado a objetos con el que podemos construir aplicaciones y sistemas.

Espero que os sea útil

No hay comentarios:

Publicar un comentario

Recomendaciones de Alcasoft