Clave
Hasta ahora, hemos estado escribiendo todo nuestro código en app.py, pero a medida que crecen nuestros programas, necesitamos una mejor manera de organizar nuestro código. Necesitamos dividir nuestro código en fragmentos más pequeños, más manejables y más fáciles de mantener que llamamos funciones. La función es un contenedor de unas pocas líneas de código que realizan una tarea específica.
Por ejemplo, ya ha aprendido acerca de algunas funciones integradas en Python print()
y input()
. Cada función tiene un propósito y sabe cómo realizar una tarea específica. Por lo tanto, cuando creamos programas grandes y complejos, debemos dividir nuestro código en fragmentos reutilizables más pequeños, es decir, funciones.
Entendamos este concepto construyendo un programa para imprimir un mensaje de saludo.
print('Hi there!')
print('Welcome aboard!')
Aquí tenemos un programa simple con solo dos líneas de código. Ahora, digamos, los vamos a necesitar en otros programas para ponerlos en una función que podamos reutilizar.
Permítanme presentarles una palabra clave reservada def
en Python, que es la abreviatura de define y se usa para definir una función.
def greet_user():
print('Hi there!')
print('Welcome aboard!')
Ahora este bloque de código definirá una función “greet_user
” con las líneas de códigos después de eso. Siempre que se llame a esta función, se ejecutarán estas dos líneas. Usemos esto:
print('start')
greet_user()
print('finish')
El programa se ejecuta secuencialmente, lo que significa que tendría que definir una función antes de llamarla en el programa.
parámetros
Las funciones definidas funcionan un poco diferente a las funciones integradas de Python. Por ejemplo, en el caso de print()
una función, toma alguna información que queremos imprimir, pero nuestra función de saludo no toma ninguna información. ¿No sería mejor si pudiera pasar el nombre del usuario aquí y luego, en lugar de decir "hola", pudiera imprimir el nombre del usuario?
Puede hacer esto agregando los parámetros dentro del paréntesis de la función definida. Deja que te enseñe:
def greet_user(name):
print('Hi there!')
print('Welcome aboard!')
Ahora el "name
” dentro del paréntesis actuará como una variable local y podemos pasar el nombre del usuario al llamarlo.
greet_user('Shahbaz')
Ahora el parámetro de nombre se establece en "Shahbaz
”. Modifiquemos el programa para hacer uso de él.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
print('finish')
Una cosa importante a tener en cuenta es que el "nombre" en la primera línea se denomina Parámetro, mientras que el nombre proporcionado, es decir, Shahbaz, se denomina argumento.
Sigamos adelante y ejecutemos este programa.
Entonces, con estos parámetros, podemos recibir información en nuestras funciones.
Ahora, hagamos algo interesante. Supongamos que desea agregar otro nombre al mensaje de saludo. Es simple.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
greet_user('Aayush')
print('finish')
Ahora tenga en cuenta que cuando una función tiene un parámetro, estamos obligados a pasar un valor para ese parámetro. Si elimina el nombre de la función y ejecuta el programa, obtendremos un error. También puede usar varios parámetros en una sola función, separados por una coma.
Por ejemplo, greet_user(first_name, last_name):
. Los argumentos también tendrán un formato similar.
Argumentos de palabras clave
Hasta ahora, hemos aprendido que cada vez que definimos parámetros para nuestras funciones, siempre debemos proporcionar valores; de lo contrario, obtendremos un error. En el último programa, los argumentos 'Shahbaz'
y 'Bhatti'
se denominan argumentos posicionales, lo que significa que su posición u orden es importante en el programa.
En Python, tenemos otro tipo de argumento llamado argumento de palabra clave, para el cual la posición no importa. Déjame mostrarte cómo funcionan.
Mira el último programa. Podemos modificarlo así:
def greet_user(first_name, last_name):
print(f'Hi {first_name} {last_name}')
print('Welcome aboard!')
print('start')
greet_user(first_name='Shahbaz', last_name='Bhatti')
print('finish')
Ahora la first_name
y last_name
son los parámetros de palabra clave. Puedes cambiar sus lugares y el resultado será el mismo.
Ahora bien, eso no significa que siempre debamos usar argumentos de palabras clave. La mayoría de las veces usamos argumentos posicionales, pero en ciertas situaciones, estos argumentos de palabras clave nos ayudan a mejorar la legibilidad de nuestro código.
Hay una cosa más que debe saber sobre los argumentos de palabras clave. Los argumentos de palabras clave siempre deben ir después de los argumentos posicionales.
Declaración de devolución
Hasta ahora hemos aprendido a crear funciones y enviarles información utilizando sus parámetros. Ahora aprendamos cómo crear funciones que devuelvan valores. Esto es particularmente útil si está haciendo algún tipo de cálculo y desea devolver el resultado a quien sea que esté usando su función. Deja que te enseñe.
Definamos una función que calcule el cuadrado de un número.
def square(number):
return number*number
Hemos usado la declaración de devolución para devolver este número fuera de la función. Ahora, si llamamos a esta función, devuelve un valor como el input()
función. Vamos a imprimirlo en la terminal.
Puede argumentar que se puede obtener el mismo resultado sin usar la declaración de devolución. Vamos a ver.
Vemos dos cosas, el número 9, y ninguna. ¿Que está sucediendo aquí?
Cuando el intérprete de Python ejecuta este código, primero llamará a la función cuadrada y el control se moverá a la función. Aquí calculamos el cuadrado de este número dado y luego lo imprimimos en la terminal.
Ahora, por defecto, todas las funciones devuelven el valor ninguno. Entonces, si no tenemos una declaración de devolución aquí, de manera predeterminada, Python no devuelve ninguna. Ninguno es un objeto que representa la ausencia de un valor. Es como nada o nulo en C, C++, Java y Javascript.
¡Envolver!
Espero que hayas entendido la importancia de las funciones.
Son un aspecto importante del aprendizaje de Python si planea escribir programas grandes y complejos durante su carrera de codificación.
Deje un comentario