Temas > Programacion > Python > Funciones en python
Julio

                                   Funciones
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 especifica 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 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.
También podemos encontrarnos con una cadena de texto como
primera línea del cuerpo de la función. Estas cadenas se conocen con
el nombre de docstring (cadena de documentación) y sirven, como su
nombre indica, a modo de documentación de la función.
<?
    def mi_funcion(param1, param2):
         â??â??â??Esta funcion imprime los dos valores pasados
         como parametros"""
         print param1
         print param2
?>
Esto es lo que imprime el opeardor ? de iPython o la función help
del lenguaje para proporcionar una ayuda sobre el uso y utilidad de
las funciones. Todos los objetos pueden tener docstrings, no solo las
funciones, como veremos más adelante.
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á:
<?
    >>> mi_funcion(â??hola")
    Traceback (most recent call last):
    File â??<stdin>", line 1, in <module>
    TypeError: mi_funcion() takes exactly 2 arguments (1 given)
?>
También es posible, no obstante, definir funciones con un número 
variable de argumentos, o bien asignar valores por defecto a los 
parámetros para el caso de que no se indique ningún valor para ese
parámetro
al llamar a la función.
Los valores por defecto para los parámetros se definen situando un
signo igual después del nombre del parámetro y a continuación el valor
por defecto:
<?
    def imprimir(texto, veces = 1):
          print veces * texto
?>
En el ejemplo anterior si no indicamos un valor para el segundo
parámetro se imprimirá una sola vez la cadena que le pasamos como
primer parámetro:
<?
    >>> imprimir(â??hola")
    hola
si se le indica otro valor, será este el que se utilice:
    >>> imprimir(â??hola", 2)
    holahola
?>
Para definir funciones con un número variable de argumentos coloca-
mos un último parámetro para la función cuyo nombre debe preceder-
se de un signo *:
<?
    def varios(param1, param2, *otros):
          for val in otros:
              print otros
    varios(1, 2)
    varios(1, 2, 3)
    varios(1, 2, 3, 4)
?>
Esta sintaxis funciona creando una tupla (de nombre otros en el
ejemplo) en la que se almacenan los valores de todos los parámetros
extra pasados como argumento. Para la primera llamada, varios(1, 2),
la tupla otros estaría vacía dado que no se han pasado más parámetros
que los dos definidos por defecto, por lo tanto no se imprimiría nada.
En la segunda llamada otros valdría (3, ), y en la tercera (3, 4).













¿Has olviado tu contraseña?

Pulsa aquí para registrate




Google






LunMarMieJueVieSabDom
      1
2 345678
9101112131415
16171819202122
23242526272829
3031     

Martes 3 de Diciembre 2024
Semana 49

..............................................................................................................................................................................................................................................
(Contacto)..
Esta web utiliza cookies para obtener datos estadísticos de la navegación de sus usuarios. Política de privacidad y Aviso legal