función de python

Funciones y métodos de Python

Una función de Python es un grupo de código. Para ejecutar el código en una función, debe llamar a la función. Se puede llamar a una función desde cualquier lugar una vez definida la función. Las funciones pueden devolver un valor mediante una declaración de retorno.

Las funciones son una característica común entre todos los lenguajes de programación. Permiten a los desarrolladores escribir bloques de código que realizan tareas específicas. Una función se puede ejecutar tantas veces como desee un desarrollador a lo largo de su código.

Las funciones permiten a los desarrolladores reducir la repetición en su código porque pueden ejecutar el mismo bloque de código varias veces en un programa.

Este tutorial discutirá, con ejemplos, los conceptos básicos de las funciones de Python, cómo crear y llamar a una función y cómo trabajar con argumentos. Al final de la lectura de este tutorial, serás un experto en escribir funciones en Python.




¿Qué es una función Python?

Una función es un bloque de código que solo se ejecuta cuando se llama. Las funciones de Python devuelven un valor mediante una declaración de retorno, si se especifica una. Se puede llamar a una función en cualquier lugar después de que la función haya sido declarada.

Por sí misma, una función no hace nada. Pero, cuando necesite usar una función, puede llamarla y se ejecutará el código dentro de la función.

En Python, hay dos tipos de funciones: definidas por el usuario e integradas. Las funciones integradas son funciones como:

  • print () , que imprime una declaración en la consola
  • Python len () , que calcula la longitud de una lista
  • Python str () , que convierte una valor a una cadena

Las funciones definidas por el usuario son bloques reutilizables de código escritos por usted, el desarrollador. Estos bloques de código le permiten organizar su código de manera más eficiente. Esto es importante porque cuanto más organizado esté su código, más fácil será de mantener.

El 81% de los participantes afirmaron que se sentían más seguros acerca de sus perspectivas laborales de tecnología después de asistir a un bootcamp. Asóciese a un bootcamp hoy mismo.

El graduado promedio de un bootcamp pasó menos de seis meses en la transición profesional, desde comenzar un bootcamp hasta encontrar su primer trabajo.

Definir una función se refiere a crear la función. Esto implica escribir un bloque de código al que podemos llamar haciendo referencia al nombre de nuestra función. Una función se indica con la palabra clave def, seguida de un nombre de función y un par de paréntesis.

Para este ejemplo, vamos a crear una función simple que imprima la declaración It & rsquo ; s Monday! a la consola. Para hacerlo, podemos usar este código:

 def print_monday (): print ("It's Monday ! ") 

Cuando ejecutamos nuestro código, no pasa nada. Esto se debe a que, para que nuestra función se ejecute, debemos llamarla. Para hacerlo, podemos hacer referencia al nombre de nuestra función así:

 def print_monday (): print ("It 's Monday!") print_monday () 

Nuestro código devuelve:

 ¡Es lunes! 

Analicemos los componentes principales de nuestra función:

  • la palabra clave def se usa para indicar que queremos crear una función.
  • print_monday es el nombre de nuestra función. Debe ser único.
  • () es donde se almacenarán nuestros parámetros. Hablaremos de esto más tarde.
  • : marca el final del encabezado de nuestra función.

Ahora, nuestras funciones pueden obtener tan complejos como queremos que sean. Supongamos que queremos escribir un programa que le diga a un usuario cuántas letras hay en su nombre. Podríamos hacerlo usando este código:

 def calculate_name_length (): name = str (input ("¿Qué es su nombre? ")) name_length = len (name) print (" La longitud de su nombre es ", name_length," letras. ") calculateNameLength () 

Si ejecutamos nuestro código y escriba el nombre & ldquo; Elizabeth & rdquo ;, se devuelve la siguiente respuesta:

Definimos una función llamada calculate_name_length () . En el cuerpo de la función, le pedimos al usuario su nombre, luego usamos len () para calcular la longitud del nombre del usuario. Finalmente, imprimimos & ldquo; La longitud de su nombre es [longitud] letras. & Rdquo ;, donde la longitud es la longitud del nombre del usuario, en la consola.





Parámetros y argumentos de la función

En nuestros primeros ejemplos, usamos paréntesis vacíos con nuestras funciones. Esto significa que nuestras funciones no aceptaron ningún argumento.

Los argumentos le permiten pasar información a una función que la función puede leer. Los argumentos de una función están encerrados entre los paréntesis que siguen al nombre de la función.

Veamos un ejemplo básico para ilustrar cómo funcionan los argumentos.

Ejemplo de parámetros y argumentos de Python

Supongamos que queremos crear un programa que multiplique dos números. Podríamos hacerlo usando este código:

 def multiply_numbers (number1, number2): answer = number1 * number2 print (number1, "x", number2, "= ", respuesta) multiply_numbers (5, 10) multiply_numbers (15, 2) 
< p> Nuestro programa Python devuelve:

 5 x 10 = 50 15 x 2 = 30 

Primero, definimos una función llamada multiply_numbers . Los nombres de los parámetros en la función que acepta nuestro código son: número1 y número2. Los definimos entre paréntesis, que es donde se define la lista de parámetros.

A continuación, declaramos una variable de Python llamada & ldquo; respuesta & rdquo; que multiplica los valores de number1 y number2. Luego, imprimimos una declaración en la consola con la suma matemática completa escrita, seguida de la respuesta al problema matemático.

Hemos especificado los argumentos requeridos. Esto se debe a que no hemos establecido un valor predeterminado para cada argumento. Debemos especificar un número de argumentos igual a los de la lista de parámetros, de lo contrario, el intérprete de Python devolverá un error.

Hacia el final de nuestro programa, llamamos a nuestra función multiply_numbers dos veces .

Primero, especificamos los argumentos 5 y 10. Nuestro programa multiplica estos valores para calcular 50. Luego, nuestro programa imprime & ldquo; 5 x 10 = 50 & rdquo; a la consola. A continuación, especificamos los argumentos 15 y 2, que nuestro programa multiplica. Luego, nuestro programa imprime & ldquo; 15 x 2 = 30 & rdquo; a la consola.

"Career Karma entró en mi vida cuando más lo necesitaba y rápidamente me ayudó a combinar con un bootcamp. Dos meses después de graduarme, encontré el trabajo de mis sueños que se alineaba con mis valores y metas en la vida ! "

Venus, ingeniero de software de Rockbot

De forma predeterminada, el orden de los argumentos que pasa en una función es el orden en que son procesados ​​por su programa. Cuando ejecutamos & ldquo; multiply_numbers (5, 10) & rdquo ;, el valor de & ldquo; number1 & rdquo; se convierte en 5. El valor de & ldquo; number2 & rdquo; se convierte en 10. Hablaremos sobre cómo anular esto en los & ldquo; argumentos de palabras clave & rdquo; sección.

Para obtener más información sobre los argumentos, consulte nuestro tutorial de argumentos opcionales de Python .




Una nota : Parámetros vs. Argumentos

Los términos parámetro y argumento se refieren a lo mismo: pasar información a una función. Pero hay una sutil diferencia entre los dos.


< / a>

Un parámetro es la variable dentro del paréntesis en una función. Un argumento es el valor que se pasa a una función cuando es llamada. Entonces, en nuestro último ejemplo, & ldquo; número1 & rdquo; y & ldquo; número2 & rdquo; son parámetros, y 5 y 10 son argumentos.




Argumentos de palabras clave de función

Como ya comentamos, el orden en el que pasa los argumentos es el orden en el que su programa procesarlos. Entonces, el primer parámetro se asignará al primer argumento, y así sucesivamente. Sin embargo, hay una manera de anular esta regla.

Puede usar argumentos de palabras clave en una llamada de función, lo que permite puedes asignar el valor de un argumento en función de su nombre de parámetro. El uso de argumentos de palabras clave te permite especificar el valor de las palabras clave en el orden que desees.

Los argumentos de palabras clave funcionan porque usarás palabras clave para hacer coincidir los valores con los parámetros, en lugar de depender del orden de los argumentos para pasar valores.

Supongamos que estamos creando un programa que imprime el nombre y la dirección de correo electrónico de alguien que se ha suscrito a una lista de correo. Podríamos escribir este programa usando el siguiente código:

 def print_info (nombre, correo electrónico): print ("Nombre : ", nombre) print (" Correo electrónico: ", correo electrónico) print_info (correo electrónico =" [email protected] ", nombre =" Alex Hammond ") 

Nuestro código devuelve:

 Nombre: Alex Hammond Correo electrónico: [email protected] 

Declaramos una función que acepta dos parámetros: nombre y correo electrónico. Imprimimos & ldquo; Nombre: & rdquo; en la consola, seguido del valor en el parámetro nombre . Luego, imprimimos & ldquo; _Email: & rdquo; _en la consola, seguido del valor en el parámetro email . Usamos declaraciones print () de Python para imprimir estos valores en la consola.

A continuación, llamamos a nuestra función y especifique dos argumentos. El argumento correo electrónico es igual a [email protected] , y el argumento nombre se iguala a Alex Hammond .

En nuestro código, separamos el nombre de el argumento y su valor usando un signo igual (=). Esto significó que ya no teníamos que especificar nuestros argumentos en el orden en que aparecen nuestros parámetros (nombre, correo electrónico). Podríamos usar cualquier orden que queramos.




Valores de argumento predeterminados

Además, puede especificar un valor de argumento predeterminado para un parámetro en una función.

Suponga queremos que el valor de email sea [email protected] de forma predeterminada. Podríamos hacer que esto suceda usando el siguiente código:

 def print_info (name, email = "default @ gmail. com "): print (" Nombre: ", nombre) print (" Correo electrónico: ", correo electrónico) print_info (" Alex Hammond ") 

Nuestro código Python devuelve:

 Nombre: Alex Hammond Correo electrónico: [email protected] 

Establecemos el valor predeterminado del parámetro email sea [email protected] < / a>. Cuando ejecutamos nuestro código y llamamos a la función print_info () , no necesitamos especificar un valor para el argumento email . En este ejemplo, cuando ejecutamos print_info () , solo especificamos un argumento: el nombre del usuario.




Devolver valores al programa principal

Hasta ahora, hemos hablado de cómo podemos pasar valores a una función. Pero una función también se puede usar para pasar valores al el resto de un programa.


< / a>

La instrucción return sale de una función y le permite pasar un valor al programa principal. Si usa la instrucción return sin un argumento, la función devolverá el valor Ninguno .

Supongamos que queremos crear un programa que multiplique dos números. Luego, cuando esos dos números se hayan multiplicado, queremos devolverlos a nuestro programa principal. Podríamos hacerlo usando este código:

 def multiply_numbers (número1, número2) : answer = number1 * number2 return answer ans = multiply_numbers (5, 6) print (ans) 

Nuestro código devuelve:

 30 

Primero, definimos una función llamada multiply_numbers . Esta función acepta dos parámetros: número1 y número2 . Cuando se llama a esta función, los valores de & ldquo; number1 & rdquo; y & ldquo; number2 & rdquo; se multiplican. Luego, usamos la instrucción return para pasar el número multiplicado al programa principal.

Llamamos a la función multiply_numbers () y especificamos dos argumentos: 5 y 6. Observe que también asignamos el resultado de la función a la variable & ldquo; ans & rdquo ;. Cuando se ejecuta esta línea de código, se llama a nuestra función y su resultado se asigna a & ldquo; ans & rdquo ;. Luego, nuestro código imprime el valor de & ldquo; ans & rdquo ;, que en este caso es 30.

El Python < una href = "/ python-return/">return declaración detiene la ejecución de una función, incluso si no devuelve una valor. Aquí hay un ejemplo de este comportamiento en acción:

 def run_ten (): para i en el rango (0 , 10): if i == 4: return print ("Finished") run_ten () 

Nuestro código no imprime nada en la consola. Aunque hay una & ldquo; impresión (& ldquo; Terminado & rdquo;) & rdquo; instrucción en nuestro código, no se ejecuta.

Esto se debe a que, cuando nuestro bucle for se ejecuta cuatro veces (cuando i es igual a 4), se ejecuta la instrucción return. Esto hace que nuestra función detenga la ejecución y detiene la ejecución de nuestro bucle.

Una vez que nuestra función deja de ejecutarse, el código de nuestro programa principal seguirá ejecutándose.




Conclusión

Las funciones de Python son bloques de código que ejecutan una determinada acción. Las funciones se pueden llamar tantas veces como desee en un programa. Esto significa que puede ejecutar el mismo bloque de código varias veces sin tener que repetir su código.

Las funciones le permiten reducir la repetición en su código, lo que hace que sus programas sean más fáciles de leer tanto para usted como para otros programadores. .

Para un desafío, escriba una función que imprima cada número entre 1 y 10 en la consola (incluido el 10). Esta función debe contener un bucle for. Cuando finalice la función, debe imprimir & ldquo; ¡Listo! & Rdquo; a la consola. Llame a su función una vez al final de su programa.

La salida debe ser:

 1 2 3 4 5 6 7 8 9 10 

Este tutorial discutió los conceptos básicos de las funciones en Python, cómo escribir y llamar a una función, y cómo trabajar con argumentos y parámetros. ¡Ahora está listo para comenzar a escribir funciones en Python como un experto!

Para obtener consejos sobre los mejores cursos, libros y recursos de aprendizaje de Python, consulte nuestro completo Guía de cómo aprender Python .





función de python: StackOverflow Questions