Pythonizate "Aprendiendo a programar"
Índice
¡Hola mis queridos entusiastas de la programación! En el post del día de hoy vamos a seguir aprendiendo sobre las funciones, terminaremos de hablar sobre los tipos de argumentos, el alcance de las variables y las funciones anónimas.
Para llamar a una función se pueden usar distintos tipos de argumentos, como:
- Argumentos requeridos
- Argumentos de palabra clave
- Argumentos predeterminados
- Argumentos de longitud variable.
En el post anterior definimos el uso de los argumentos de longitud variables, en este post explicaremos el uso de los otros tres tipos de argumentos.
Argumentos requeridos
Este tipo de argumentos también los explicamos anteriormente, pero nunca le dimos una definición concreta. Los argumentos requeridos
son los argumentos pasados 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.
Por ejemplo:
Input
def imprime(hola ):
print("Imprime la cadena str",hola)
return;
imprime()
Output
Traceback (most recent call last):
File "prueba.py", line 6, in <module>
imprime()
TypeError: imprime() missing 1 required positional argument: 'hola'
El programa nos lanza un error diciendo "El argumento posicional hola es requerido en imprime()"
Le asignamos el argumento y volvemos a correr el programa.
Input
def imprime(hola):
print("Imprime la cadena hola: ",hola)
return;
hola="Hola steemians"
imprime(hola)
Output
Imprime la cadena hola: Hola steemians
Nos imprime correctamente el argumento deseado.
Argumentos de palabra clave
Los argumentos de palabras clave
están relacionados con las llamadas a funciones. Cuando utilizamos argumentos de palabra clave
en una llamada de función, la función identifica los argumentos por el nombre del parámetro.
Por ejemplo:
Input
def imprime(hola):
print("Imprime la cadena hola: ",hola)
return;
imprime(hola = "Probando a steemit")
Output
Imprime la cadena hola: Probando a steemit
Esto permite saltar argumentos o colocarlos fuera de orden, porque el intérprete de Python puede usar las palabras clave proporcionadas para hacer coincidir los valores con los parámetros.
Argumentos predeterminados
Los argumentos predeterminados
son los que asumen un valor predeterminado si no se proporciona un valor en la llamada a la función para ese argumento.
Por ejemplo:
Input
def imprime( usuario, reputacion = 35 ):
print ("Usuario: ", usuario)
print ("Reputacion ", reputacion)
return;
imprime( reputacion=49, usuario="vidayaventura" )
imprime( usuario="vidayaventura" )
Output
Usuario: vidayaventura
Reputacion 49
Usuario: vidayaventura
Reputacion 35
El siguiente ejemplo nos da una imagen más clara sobre el uso de los argumentos de palabra clave
y los argumentos predeterminados
.
Alcance de las variables
Existe la posibilidad de que no se pueda tener acceso a todas las variables de un programa en todas las ubicaciones de ese programa. Esto depende de dónde hayamos declarado la variable.
El alcance de una variable determina la parte del programa donde puede acceder a un identificador particular. Hay dos tipos básicos de variables en Python:
- Variables Globales
- Variables Locales
Las variables que definimos dentro del bloque de código de una función tienen un alcance local, es decir, solo se puede acceder a las variables locales dentro de la función en la que se declaran. Las variables globales se definen fuera de las funciones, es decir, se pueden acceder a través del cuerpo del programa por todas las funciones.
Por ejemplo:
Input
total = 7; #Esta es una variables Global
def suma( arg1, arg2 ):
total = arg1 + arg2; #arg1 y arg2 son variables locales
print ("Total dentro de la funcion local: ", total)
return total;
suma( 10, 20 );
print ("Total fuera de la funcion local : ", total )
Output
Total dentro de la funcion local: 30
Total fuera de la funcion local : 7
En este ejemplo la variable global es total
, es decir, tenemos acceso a ella dentro y fuera de la función suma
, mientras que arg1
y arg2
son variables de la función suma
, los invito a llamar a las variables locales fuera de la función suma
para que comprendan mejor su uso.
Las funciones anónimas
Estas funciones se llaman anónimas porque no se declaran de manera estándar utilizando la palabra clave def
. Para una función anónima se usa la palabra clave lambda
para crear pequeñas funciones anónimas.
La función
Lambda
puede tomar cualquier cantidad de argumentos, pero devuelve solo un valor en forma de expresión. No puede contener comandos o expresiones múltiples.Las funciones anónimas no pueden ser una llamada directa a imprimir porque
Lambda
requiere una expresión.Las funciones de
Lambda
tienen su propio espacio de nombres local y no pueden acceder a variables que no sean las de su lista de parámetros ni las del espacio de nombres global.
La estructura de una función Lambda
es la siguiente:
lambda [arg1, arg2, ... argn] : expresion
Veamos un ejemplo para una mejor comprensión:
Input
suma= lambda arg1, arg2, arg3: arg1 + arg2 * arg3; # Variables Locales:Expresion
print ("La suma total es : ", suma(10, 10, 30))
print ("La suma total es : ", suma( 50, 20, 100))
Output
La suma total es : 310
La suma total es : 2050
En la función lambda
primero declaramos las variables locales y luego de los dos puntos la expresión, no es tan complicado, sin embargo, debemos tener en cuenta que son funciones mínimas, de una línea.
!Esto fue todo por hoy, nos vemos en el próximo post, donde realizaremos y explicaremos algunos programas prácticos!
Ya estamos a punto de terminar la parte básica del Tutorial Pythonizate, así que en el próximo post dejare un ejercicio desafió que tendrá recompensa de 1 SBD!
Si tienen alguna duda o consulta no duden en dejarla en los comentarios. ¡Éxitos!
"El ser humano es inteligente por naturaleza, la tecnología es solo un complemento"
╭════════════╮
Sígueme en mi Blog
╰════════════╯