Tutorial "Pythonizate: Fundamentos de Programación” – Funciones Parte II

Pythonizate "Aprendiendo a programar"

Este tutorial está siendo elaborado para enseñarte a programar en Python desde cero hasta un nivel intermedio – avanzado. Al momento de finalizarlo serás capaz de crear software sencillo aplicando los conceptos aprendidos e incluso crear su propia interfaz gráfica.


Índice

Contenido
Post
Introducción
Tutorial "Pythonizate: Aprendiendo a Programar" - Introducción
Instalación de entorno de desarrollo y primeros programas
"Pythonizate: Aprendiendo a Programar" - Instalación de entorno de desarrollo y primeros programas
Números, Operadores y Tipos de Datos
Tutorial "Pythonizate: Fundamentos de Programación” – Números, Operadores y Tipos de Datos.
Listas, Tuplas, Diccionario y Entrada por Teclado
Tutorial "Pythonizate: Fundamentos de Programación” - Listas, Tuplas, Diccionario y Entrada por Teclado
Estructura de Control Condicional
Tutorial "Pythonizate: Fundamentos de Programación” – Estructuras de Control Condicionales
Estructura de Control Iterativo
Tutorial "Pythonizate: Fundamentos de Programación” – Estructuras de Control Iterativas
Control de Bucles
Tutorial "Pythonizate: Fundamentos de Programación” – Control de Bucles
Funciones Parte I
Tutorial "Pythonizate: Fundamentos de Programación” – Funciones Parte I

¡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

Descargue este ejemplo

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

Descargue este ejemplo

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

Descargue este ejemplo

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

Descargue este ejemplo

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

Descargue este ejemplo

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"

Gracias por permitirme robar unos pocos minutos de tu vida. Me despido por los momentos mis lectores, que tengan un excelente día, tarde o noche.
╭════════════╮
Sígueme en mi Blog
╰════════════╯

GIF

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now
Logo
Center