funciones

Definir una función
. 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