Ejemplos de funciones de Python: llamada, sangría, argumentos y amp; Valores devueltos

Tabla de contenido:

Anonim

¿Qué es la función en Python?

Una función en Python es un fragmento de código que se ejecuta cuando se hace referencia a ella. Se utiliza para utilizar el código en más de un lugar en un programa. También se le llama método o procedimiento. Python proporciona muchas funciones incorporadas como print (), input (), compile (), exec (), etc. pero también da libertad para crear tus propias funciones.

En este tutorial, aprenderemos

  • Cómo definir y llamar a una función en Python
  • Importancia de la sangría (espacio) en Python
  • ¿Cómo la función devuelve el valor?
  • Argumentos en funciones

Cómo definir y llamar a una función en Python

La función en Python se define mediante la declaración "def" seguida del nombre de la función y paréntesis (())

Ejemplo:

Definamos una función usando el comando "def func1 (): y llamemos a la función. La salida de la función será "Estoy aprendiendo la función Python".

La función print func1 () llama a nuestra def func1 (): e imprime el comando " Estoy aprendiendo la función Python Ninguna " .

Hay un conjunto de reglas en Python para definir una función.

  • Cualquier argumento o parámetro de entrada debe colocarse entre estos paréntesis.
  • La primera instrucción de la función puede ser una instrucción opcional-docstring o la cadena de documentación de la función
  • El código dentro de cada función comienza con dos puntos (:) y debe estar sangrado (espacio)
  • La declaración return (expresión) sale de una función y, opcionalmente, devuelve un valor al llamador. Una declaración return sin argumentos es lo mismo que return None.

Importancia de la sangría (espacio) en Python

Antes de familiarizarnos con las funciones de Python, es importante que entendamos la regla de sangría para declarar funciones de Python y estas reglas son aplicables a otros elementos de Python, así como a la declaración de condiciones, bucles o variables.

Python sigue un estilo particular de sangría para definir el código, ya que las funciones de Python no tienen ningún comienzo o final explícito como llaves para indicar el inicio y la parada de la función, tienen que depender de esta sangría . Aquí tomamos un ejemplo simple con el comando "imprimir". Cuando escribimos la función "imprimir" justo debajo de la función def 1 (): mostrará un " error de sangría: se esperaba un bloque sangrado ".

Ahora, cuando agrega la sangría (espacio) delante de la función "imprimir", debería imprimirse como se esperaba.

Al menos, una sangría es suficiente para que su código funcione correctamente. Pero como práctica recomendada, es aconsejable dejar entre 3 y 4 sangrías para llamar a su función .

También es necesario que al declarar la sangría, tenga que mantener la misma sangría para el resto de su código . Por ejemplo, en la captura de pantalla siguiente, cuando llamamos a otra instrucción "aún en func1" y cuando no se declara justo debajo de la primera instrucción de impresión, mostrará un error de sangría "unindent no coincide con ningún otro nivel de sangría".

Ahora, cuando aplicamos la misma sangría para ambas declaraciones y las alineamos en la misma línea, da el resultado esperado.

¿Cómo la función devuelve el valor?

El comando de retorno en Python especifica qué valor devolver al llamador de la función.

Entendamos esto con el siguiente ejemplo

Paso 1) Aquí, vemos cuando la función no es "retorno". Por ejemplo, queremos el cuadrado de 4, y debería dar la respuesta "16" cuando se ejecuta el código. Lo cual da cuando simplemente usamos el código "print x * x", pero cuando llamas a la función "print square", da "None" como salida. Esto se debe a que cuando llama a la función, la recursividad no ocurre y cae al final de la función. Python devuelve "Ninguno" por fallar al final de la función.

Paso 2) Para aclarar esto, reemplazamos el comando de impresión con el comando de asignación. Comprobemos la salida.

Cuando ejecuta el comando "imprimir cuadrado (4)", en realidad devuelve el valor del objeto, ya que no tenemos ninguna función específica para ejecutar aquí, devuelve "Ninguno".

Paso 3) Ahora, aquí veremos cómo recuperar la salida usando el comando "return". Cuando usa la función "return" y ejecuta el código, le dará la salida "16."

Paso 4) Las funciones en Python son en sí mismas un objeto y un objeto tiene algún valor. Veremos aquí cómo Python trata un objeto. Cuando ejecuta el comando "imprimir cuadrado", devuelve el valor del objeto. Como no hemos pasado ningún argumento, no tenemos ninguna función específica para ejecutar aquí, devuelve un valor predeterminado (0x021B2D30) que es la ubicación del objeto. En el programa práctico de Python, probablemente nunca necesitará hacer esto.

Argumentos en funciones

El argumento es un valor que se pasa a la función cuando se llama.

En otras palabras, en el lado de la llamada, es un argumento y en el lado de la función es un parámetro.

Veamos cómo funciona Python Args -

Paso 1) Los argumentos se declaran en la definición de la función. Mientras llama a la función, puede pasar los valores para esos argumentos como se muestra a continuación

Paso 2) Para declarar un valor predeterminado de un argumento, asígnele un valor en la definición de la función.

Ejemplo: x no tiene valores predeterminados. Valores predeterminados de y = 0. Cuando proporcionamos solo un argumento mientras llamamos a la función multiplicar, Python asigna el valor proporcionado ax mientras mantiene el valor de y = 0. Por lo tanto, la multiplicación de x * y = 0

Paso 3) Esta vez cambiaremos el valor a y = 2 en lugar del valor predeterminado y = 0, y devolverá la salida como (4x2) = 8.

Paso 4) También puede cambiar el orden en el que se pueden pasar los argumentos en Python. Aquí hemos invertido el orden de los valores xey ax = 4 e y = 2.

Paso 5) También se pueden pasar varios argumentos como una matriz. Aquí, en el ejemplo, llamamos a los argumentos múltiples (1,2,3,4,5) llamando a la función (* args).

Ejemplo: Declaramos varios argumentos como número (1,2,3,4,5) cuando llamamos a la función (* args); imprime la salida como (1,2,3,4,5)

Consejos :

  • En Python 2.7. La sobrecarga de funciones no es compatible con Python. La sobrecarga de funciones es la capacidad de crear varios métodos con el mismo nombre con una implementación diferente. La sobrecarga de funciones es totalmente compatible con Python 3
  • Existe una gran confusión entre métodos y funciones. Los métodos en Python están asociados con instancias de objetos, mientras que la función no. Cuando Python llama a un método, vincula el primer parámetro de esa llamada a la referencia de objeto adecuada. En palabras simples, una función independiente en Python es una "función", mientras que una función que es un atributo de una clase o instancia es un "método".

Aquí está el código completo de Python 3

#define a functiondef func1():print ("I am learning Python function")print ("still in func1")func1()def square(x):return x*xprint(square(4))def multiply(x,y=0):print("value of x=",x)print("value of y=",y)return x*yprint(multiply(y=2,x=4))

Aquí está el código completo de Python 2

#define a functiondef func1():print " I am learning Python function"print " still in func1"func1()def square(x):return x*xprint square(4)def multiply(x,y=0):print"value of x=",xprint"value of y=",yreturn x*yprint multiply(y=2,x=4)

Resumen:

La función en Python es un fragmento de código reutilizable que se utiliza para realizar una única acción relacionada. En este artículo veremos

  • Función definida por la declaración def
  • El bloque de código dentro de cada función comienza con dos puntos (:) y debe estar sangrado (espacio)
  • Cualquier argumento o parámetro de entrada debe colocarse entre estos paréntesis, etc.
  • Se debe dejar al menos una sangría antes del código después de declarar la función
  • Se debe mantener el mismo estilo de sangría en todo el código dentro de la función def
  • Para las mejores prácticas, se consideran mejores tres o cuatro sangrías antes de la declaración
  • Puede utilizar el comando "return" para devolver valores a la llamada a la función.
  • Python imprimirá un valor aleatorio como (0x021B2D30) cuando el argumento no se proporcione a la función de llamada. Ejemplo de "función de impresión".
  • En el lado de la llamada, es un argumento y en el lado de la función es un parámetro.
  • Valor predeterminado en el argumento: cuando proporcionamos solo un argumento mientras llamamos a la función multiplicar o cualquier otra función, Python asigna el otro argumento de forma predeterminada
  • Python también le permite invertir el orden del argumento