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

in #spanish6 years ago (edited)

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


¡Hola mis queridos entusiastas de la programación! En el post del día de hoy vamos a aprender sobre las funciones, también vamos a crear e implementar nuestras propias funciones.

¿Qué es una función?

Cuando creamos nuestros propios programas nos damos cuenta a que tienden a repetirse o presentarse de forma parecida con algunas variaciones, ahí es cuando surge la necesidad de agrupar ese bloque de código en común y aparecen las funciones.

Una función es un bloque de código organizado y que podemos reutilizar múltiples veces gracias a un nombre único que las identifica, para comunicarse con el proceso principal las funciones pueden recibir y devolver datos.

Definiendo una función

Para definir una función en Python se tienen que seguir las siguientes reglas:

  • Los bloques de funciones comienzan con la palabra clave def seguida del nombre de la función y los paréntesis (()).

  • Cualquier parámetro o argumento de entrada debe colocarse dentro de los paréntesis, también se pueden definir parámetros dentro de los paréntesis.

  • El bloque de código dentro de cada función comienza con dos puntos (:) y la identación.

  • La declaración return [expresión] devuelve una expresión donde se invocó la función, también una declaración puede estar sin argumento, que es lo equivalente a devolver none.

La estructura de una función es la siguiente:

def nombredelafuncion():
    accion
    accion
    accion
    return expresión


Al momento de usar una función, los parámetros tienen un comportamiento posicional y deben colocarse en el mismo orden en que se definieron.


Por ejemplo:

def saludo():
    print("Hola entusiastas de la programacion\n")


La función no es ejecutada mientras no sea invocada. Para invocar una función, simplemente se la llama por su nombre:

Input

def saludo():
    print("Hola entusiastas de la programacion\n")

saludo()

print("Fin del programa")

Output

Hola entusiastas de la programación

Fin del programa

Descargue el ejemplo

Para retornar datos, se pueden ser asignar a una variable o simplemente imprimir la función.

Por ejemplo:

Input

def saludo(): 
    return "Hola entusiastas de la programacion" 
 
frase = saludo()
print()
print(frase)
print("\nFin del programa")

Output

Hola entusiastas de la programacion

Fin del programa

Descargue el ejemplo

En este ejemplo, le asignamos el valor que nos regresa la función saludo a la variable frase y luego la imprimimos, otra forma seria haciendo el llamado de la función dentro del print, así print(saludo()).

Parámetros

Un parámetro es el valor que la función espera recibir cuando es invocada, con el fin de ejecutar acciones sobre este valor. Una función puede esperar uno o más parámetros, los cuales van separados por coma.

La estructura es la siguiente:

def nombredelafuncion(parametro1, parametro2, etc):
    accion
    accion
    accion
    return expresión


Por ejemplo:

Input

def mi_funcion(user, nombre): 
    datos =  (user, nombre)
    print (datos)

user = input("Cual es tu user en steemit: ")
nombre = input("Cual es tu nombre: ")

mi_funcion(user,nombre)

Output

Cual es tu user en steemit: vidayaventura
Cual es tu nombre: Ramses
('vidayaventura', 'Ramses')

Descargue el ejemplo

Estudiemos el ejemplo:

  1. Primero definimos nuestra función.
  2. Solicitamos por teclado los argumentos que se van a enviar a la función.
  3. Invocamos a la función y le pasamos los argumentos.
  4. Entramos en la función con los dos parámetros.
  5. Los parámetros son almacenados en una tupla y luego se muestran por pantalla.

¿Complicado? Puede ser, pero no hay nada que nos pueda ayudar más que practicar y practicar, la programación se basa en lo que lo llamo "Horas Nalgas" (Muchas horas sentado programando).

Al llamar a una función, siempre se le deben pasar sus argumentos en el mismo orden en el que los espera.

Veamos otro ejemplo:

Input

print("Programa que realiza la suma de dos numeros")

def suma(num1, num2):
    return num1 + num2

num1 = int(input("Dame el valor del primero numero: "))
num2 = int(input("Dame el valor del segundo numero: "))

resultado = suma(num1, num2)

print("El resultado de la suma es: ",resultado)

Output

Programa que realiza la suma de dos numeros
Dame el valor del primero numero: 30
Dame el valor del segundo numero: 48
El resultado de la suma es:  78

Descargue el ejemplo

Te invito a que estudies este ejemplo por tu cuenta, solo tienes que repasar lo que hemos estado hablando a lo largo del post.

Argumentos de longitud variable

Existe la posibilidad de que nuestra función espere recibir un número desconocido de argumentos, estos llegarán a la función en forma de tupla. Para definir argumentos arbitrarios en una función, se debe colocar delante del parámetro un asterisco (*):

La estructura es la siguiente:

def nombredelafuncion(parametros,*argumentos):
    accion
    return expresión

Por ejemplo:

Input

def parametros_arbitrarios(parametro, *arbitrarios): 
    print (parametro)
    print()
    # Los parámetros arbitrarios se corren como tuplas
    for argumento in arbitrarios: 
        print (argumento)
 
parametros_arbitrarios('Ramses', 'vidayaventura', 'andrealbm', 'ricardo993')
print("\nFin del programa")

Output

Ramses

vidayaventura
andrealbm
ricardo993

Fin del programa

Descargue el ejemplo

Repasemos el ejemplo, el primer argumento que se envía será el parámetro fijo en este caso Ramses, el resto será argumentos arbitrarios, que pueden ser n cantidad.Imprimimos por pantalla el parámetro fijo y luego con un bucle for imprimimos los argumentos arbitrarios, que son almacenados en forma de tuplas.


!Esto fue todo por hoy, nos vemos en el próximo post, donde estudiaremos la segunda parte de funciones y explicare varios ejercicios!

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

Sort:  

Gracias por este nuevo post! Cada día seguimos avanzando a buen ritmo. Gracias por tu dedicación, para que entendamos los temas claramente.

¡Hola @rafaelaquino! Gracias a ti por siempre estar pendiente y hacerle seguimiento al tutorial.

Saludos

Me encantan tus publicaciones, haces un gran aporte a la comunidad de steemit ayudándonos a entender un poco mas sobre los lenguajes de programación de una manera muy dinámica y divertida, cosa que no suelen hacer los libros o los profesores, muchísimas gracias y espero que sigas motivándonos a programar!

Saludos!!

¡Hola @andrealbm! Me alegra de que mi post sea de tu agrado, la idea de hacer un tutorial es transmitir la información de la mejor manera, para que se pueda comprender por las personas que no tienen conocimiento del tema. Espero que te unas a este viaje de la programación.

Saludos.

no programo mucho jeje, pero me encanta tu manera de explicar.
amazing.gif

¡Hola @kookyan! Gracias por tu comentario, te invito a que comiences en este viaje hacia la programación.

Saludos

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by vidayaventura from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.

Está demasiado completo y super bien explicado todo. Tengo algunos conocimientos en lenguajes de programación por lo que se me hizo fácil y entretenido aprender todo lo que enseñas aquí. Estaré esperando la siguiente parte.

¡Hola @niklaus22! Me alegro de que el post sea de tu agrado, te invito a que te sumes a esta aventura de conocimientos sobre el lenguaje Python.

Saludos

@biblegateway you're on the @abusereports naughty list!

Bad Steemian! Bad!