miércoles, 5 de septiembre de 2012

Python – Funciones y Métodos

Una función es un fragmento de código con un nombre asociado que realiza una serie de tareas y devuelve un valor. A los fragmentos de código que tienen un nombre asociado y no devuelven valores se les suele llamar procedimientos. En Python no existen los procedimientos, ya que cuando el programador no especica un valor de retorno la función devuelve el valor None (nada), equivalente al null de Java. Además de ayudarnos a programar y depurar dividiendo el programa en partes las funciones también permiten reutilizar código.

En Python las funciones se declaran de la siguiente forma:

def mi_funcion(param1, param2):
  print param1
  print param2
Es decir, la palabra clave def seguida del nombre de la función y entre paréntesis los argumentos separados por comas. A continuación, en otra línea, indentado (sangría) y después de los dos puntos tendríamos las líneas de código que conforman el código a ejecutar por la función.

Volviendo a la declaración de funciones, es importante aclarar que al declarar la función lo único que hacemos es asociar un nombre al fragmento de código que conforma la función, de forma que podamos ejecutar dicho código más tarde referenciándolo por su nombre. Es decir, a la hora de escribir estas líneas no se ejecuta la función. Para llamar a la función (ejecutar su código) se escribiría:
mi_funcion(“hola”, 2)
Es decir, el nombre de la función a la que queremos llamar seguido de los valores que queramos pasar como parámetros entre paréntesis. La asociación de los parámetros y los valores pasados a la función se hace normalmente de izquierda a derecha: como a param1 le hemos dado un valor “hola” y param2 vale 2, mi_funcion imprimiría hola en una línea, y a continuación 2.

Sin embargo también es posible modificar el orden de los parámetros si indicamos el nombre del parámetro al que asociar el valor a la hora de llamar a la función:
mi_funcion(param2 = 2, param1 = “hola”)
El número de valores que se pasan como parámetro al llamar a la función tiene que coincidir con el número de parámetros que la función acepta según la declaración de la función. En caso contrario Python se quejará:

Un tipo especial de función o método es el constructor, el cual se encarga de crear un objeto o instancia de un tipo en concreto de clase. En Python , el método constructor tiene el siguiente formato dentro de la clase:
def __init__(param1, param2):
Python utiliza la palabra reservada self para referirse al objeto que estemos tratando, en otros lenguajes se utiliza la palabra reservada this, como es el caso en java. Producto de esto, es que podemos ver lo siguiente:

def __init__(self):

Cuando necesito recurrir a un atributo de la clase, dentro de una función, escribo self.nombre_del_atributo.

Nota: Todo el código contenido dentro de una función (es decir, el que esté debajo de la definición de la función, con tabulado), se llama algoritmo, y es el que indicará a la función, qué es lo que debe hacer.



Fuente: Python para todos
Un tutorial de Python descargado de Internet (Sin Nombre)

0 comentarios:

Publicar un comentario