. Puede definir funciones para proporcionar la funcionalidad requerida. : Estas son algunas reglas simples para definir una función en Python:
- Los bloques de funciones comienzan con la palabra clave def seguida por el nombre de la función y los paréntesis (()).
- . Todos los parámetros de entrada o los argumentos deben ser colocados dentro de estos paréntesis. También puede definir los parámetros dentro de estos paréntesis.
- La primera declaración de una función puede ser una declaración opcional - la cadena de documentación de la función o cadena de documentación.
- . El bloque de código dentro de cada función se inicia con dos puntos (:) y sangría.
- La sentencia return [expresión] sale de una función, opcionalmente puede pasar de nuevo una expresión de la persona que llama. Una sentencia return sin argumentos es lo mismo que ninguna devolución.
Sintaxis:
def functionname( parameters ): def functionname (parámetros): "function_docstring" "Function_docstring" function_suite function_suite return [expression] retorno [de expresión] |
De forma predeterminada, los parámetros tienen un comportamiento de posición, y lo que necesita para informarles en el mismo orden en que fueron definidos.
Ejemplo:
. Esta es la forma más simple de una función de Python.. Esta función toma una cadena como parámetro de entrada y lo imprime en la pantalla estándar.def printme( str ): def printme (str): "This prints a passed string into this function" "Esto imprime una cadena que se pasa en esta función" print str imprimir str return volver |
Llamar a una función
Definir una función sólo se da un nombre, especifica los parámetros que han de ser incluidos en la función, y las estructuras de los bloques de código.Una vez que la estructura básica de una función se ha finalizado, se puede ejecutar mediante una llamada desde otra función o directamente desde el prompt de Python.
El siguiente es el ejemplo para llamar a la función printme ():
Esto produciría siguiente resultado:
I'm first call to user defined function! Estoy primera llamada a una función definida por el usuario! Again second call to the same function Llamada segunda vez a la misma función |
Pase por un valor de referencia frente a
. Todos los parámetros (argumentos) en el lenguaje Python se pasan por referencia. . Esto significa que si se cambia un parámetro de lo que se refiere a dentro de una función, el cambio también se refleja en la función de llamada. Por ejemplo:#!/usr/bin/python #! / Usr / bin / python # Function definition is here La definición # Función está aquí def changeme( mylist ): def changeme (milista): "This changes a passed list into this function" "Esto cambia una lista que se pasa en esta función" mylist.append([1,2,3,4]); mylist.append ([1,2,3,4]); print "Values inside the function: ", mylist imprimir "Los valores dentro de la función:", Mi lista return volver # Now you can call changeme function # Ahora usted puede llamar a la función changeme mylist = [10,20,30]; milista = [10,20,30]; changeme( mylist ); changeme (milista); print "Values outside the function: ", mylist imprimir "valores fuera de la función:", milista |
Aquí estamos manteniendo de referencia del objeto que se pasa y la anexión de los valores en el mismo objeto. : Así que esto produciría el siguiente resultado:
Values inside the function: [10, 20, 30, [1, 2, 3, 4]] Los valores dentro de la función: [10, 20, 30, [1, 2, 3, 4]] Values outside the function: [10, 20, 30, [1, 2, 3, 4]] Los valores fuera de la función: [10, 20, 30, [1, 2, 3, 4]] |
No es un ejemplo más donde el argumento se pasa por referencia, pero dentro de la función, pero la referencia está siendo sobre-escrito.
#!/usr/bin/python #! / Usr / bin / python # Function definition is here La definición # Función está aquí def changeme( mylist ): def changeme (milista): "This changes a passed list into this function" "Esto cambia una lista que se pasa en esta función" mylist = [1,2,3,4]; # This would assig new reference in mylist milista = [1,2,3,4]; # Esto assig nueva referencia en milista print "Values inside the function: ", mylist imprimir "Los valores dentro de la función:", Mi lista return volver # Now you can call changeme function # Ahora usted puede llamar a la función changeme mylist = [10,20,30]; milista = [10,20,30]; changeme( mylist ); changeme (milista); print "Values outside the function: ", mylist imprimir "valores fuera de la función:", milista |
. El milista parámetro es local a la changeme función. Cambio de milista dentro de la función no afecta a milista. La función no logra nada y, finalmente, esto produciría el siguiente resultado:
Values inside the function: [1, 2, 3, 4] Los valores dentro de la función: [1, 2, 3, 4] Values outside the function: [10, 20, 30] Los valores fuera de la función: [10, 20, 30] |
Argumentos de función:
Usted puede llamar a una función mediante el uso de los siguientes tipos de argumentos formales ::- Argumentos necesarios
- Argumentos de palabras clave
- Los argumentos por defecto
- Argumentos de longitud variable
Argumentos necesarios:
. Argumentos necesarios son los argumentos que se pasan a una función en el orden posicional correcto. Aquí el número de argumentos en la llamada a la función debe coincidir exactamente con la definición de la función.Para llamar a la printme function () que sin duda tiene que pasar un argumento de lo contrario daría un error de sintaxis de la siguiente manera:
#!/usr/bin/python #! / Usr / bin / python # Function definition is here La definición # Función está aquí def printme( str ): def printme (str): "This prints a passed string into this function" "Esto imprime una cadena que se pasa en esta función" print str; imprimir str; return; regresar; # Now you can call printme function # Ahora usted puede llamar a la función printme printme(); printme (); |
Esto produciría siguiente resultado:
Traceback (most recent call last): Traceback (most recent call last): File "test.py", line 11, in <module> Archivo "test.py", línea 11, en <module> printme(); printme (); TypeError: printme() takes exactly 1 argument (0 given) TypeError: printme () toma un argumento exactamente (0 dado) |
Argumentos de palabra clave:
. Argumentos de palabras clave se relacionan con las llamadas a funciones. . Cuando se usa argumentos de palabras clave en una llamada a la función, la persona que llama se identifica los argumentos por el nombre del parámetro.Esto le permite saltar argumentos o ponerlos fuera de servicio debido a que el intérprete de Python es capaz de utilizar las palabras clave proporcionadas para que coincida con los valores con los parámetros.
: También puede hacer llamadas de palabras clave a la printme () en las siguientes formas:
#!/usr/bin/python #! / Usr / bin / python # Function definition is here La definición # Función está aquí def printme( str ): def printme (str): "This prints a passed string into this function" "Esto imprime una cadena que se pasa en esta función" print str; imprimir str; return; regresar; # Now you can call printme function # Ahora usted puede llamar a la función printme printme( str = "My string"); printme (str = "Mi cadena"); |
: Esto produciría siguiente resultado:
My string Mi cadena de
|
. Siguiendo el ejemplo da idea más clara. : Tenga en cuenta que aquí el fin del parámetro no importa:
#!/usr/bin/python #! / Usr / bin / python # Function definition is here La definición # Función está aquí def printinfo( name, age ): def printinfo (nombre, edad): "This prints a passed info into this function" "Esto imprime una información pasa a esta función" print "Name: ", name; print "Nombre:", el nombre; print "Age ", age; print "Edad", la edad; return; regresar; # Now you can call printinfo function # Ahora usted puede llamar a la función printinfo printinfo( age=50, name="miki" ); printinfo (edad = 50, name = "miki"); |
: Esto produciría siguiente resultado:
Name: miki Nombre: miki Age 50 50 años de edad
|
|

No hay comentarios:
Publicar un comentario