Tutorial "Pythonizate: Fundamentos de Programación” – Funciones Parte I
Pythonizate "Aprendiendo a programar"
Índice
![](https://steemitimages.com/640x0/https://s19.postimg.cc/fk0b5sik3/Separador.png)
![](https://steemitimages.com/640x0/https://s19.postimg.cc/cudhez3s3/1522651567100_1.png)
¡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.
![](https://steemitimages.com/640x0/https://s19.postimg.cc/fk0b5sik3/Separador.png)
¿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
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
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
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')
Estudiemos el ejemplo:
- Primero definimos nuestra función.
- Solicitamos por teclado los argumentos que se van a enviar a la función.
- Invocamos a la función y le pasamos los argumentos.
- Entramos en la función con los dos parámetros.
- 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
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
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.
![](https://steemitimages.com/640x0/https://s19.postimg.cc/6c82oxj5v/Screenshot_16.jpg)
![](https://steemitimages.com/640x0/https://s19.postimg.cc/mzzkrlter/Final.png)
!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!
![](https://steemitimages.com/640x0/https://s19.postimg.cc/6c82oxj5v/Screenshot_16.jpg)
"El ser humano es inteligente por naturaleza, la tecnología es solo un complemento"
╭════════════╮
Sígueme en mi Blog
╰════════════╯
![GIF](https://steemitimages.com/0x0/https://s19.postimg.org/qm6hgfpv7/GIF.gif)
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
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](https://steemitimages.com/0x0/https://cdn.steemitimages.com/DQmSAJcmDLVjJ7pJqrMmd5tsxgJraVw1ZVLHADm7br1aiLs/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
God Bless You!