Las funciones en Python son la base para escribir código claro y reutilizable. Aquí aprenderás, paso a paso y con ejemplos simples, cómo declararlas con def, elegir buenos nombres, usar parámetros posicionales y named arguments, retornar valores y aprovechar las funciones built-in para convertir tipos. Además, verás por qué Python es batteries included y cómo esto acelera tu trabajo diario.
¿Qué es una función en Python y por qué usarla?
Una función es la agrupación de enunciados con nombre que puede recibir parámetros y regresar un valor. En Python, las funciones son un elemento principal del lenguaje y permiten componer soluciones más limpias y mantenibles.
Nombre descriptivo: elegirlo bien es crucial para la legibilidad.
Parámetros: qué recibe la función para operar.
Valor de retorno: el resultado que se usa en el resto del programa.
Composición: se puede pasar el resultado de una función a otra.
Orden de ejecución: de arriba hacia abajo y de izquierda a derecha.
¿Cómo elegir nombres y por qué importan?
Nombres claros facilitan leer y mantener el código.
Un buen nombre explica qué hace la función sin comentarios extra.
¿Qué tipos de parámetros existen?
Posicionales: se pasan por orden.
Named arguments: permiten especificar por nombre y usar valores predefinidos.
¿Cómo se ejecutan y componen?
Llamas por nombre y pasas los argumentos requeridos.
Puedes encadenar funciones: el retorno de una alimenta a otra.
¿Qué funciones built-in y módulos ofrece Python?
Python es lenguaje con batteries included: trae una librería estándar rica en funciones y módulos listos para usar. Las funciones globales o built-in como type, int, bool, float y str son tu caja de herramientas diaria. Además, módulos como math agregan funciones matemáticas (logaritmos, trigonometría, exponenciación).
type: inspecciona el tipo de un valor.
int, bool, float, str: convierten datos entre tipos.
math: funciones matemáticas para cálculos comunes.
¿Cómo convertir tipos con built-ins?
Ejemplos prácticos de conversión y verificación de tipo:
# Tipo de un valortype(3)# <class 'int'># Conversión de string a enteroa =int("5")# Representación booleana: truthy y falsybool(1)# Truebool(0)# Falsebool("")# False (string vacío)# Conversión a flotantea =float(3)# 3.0# Conversión a strings =str(123)# "123"
Valores truthy y falsy: Python convierte ciertos valores a su representación booleana.
Un string vacío es falsy; números distintos de cero suelen ser truthy.
¿Qué es el módulo math y para qué sirve?
Se importa con import math.
Ofrece logaritmos, funciones trigonométricas y exponenciación.
Útil para cálculos matemáticos sin reinventar la rueda.
¿Cómo declarar, llamar y asignar el retorno de una función?
Declaras una función con el keyworddef, dos puntos y un bloque indentado. En Python, la convención es usar cuatro espacios; tu IDE puede traducir tab a cuatro espacios.
defsuma_dos_numeros(x, y):return x + y
# Llamada y uso del valor de retornoresultado = suma_dos_numeros(10,15)# 25# type sobre la función y sobre el resultadotype(suma_dos_numeros)# <class 'function'>type(resultado)# <class 'int'># Asignación del retorno a una variable ("=" es asignación, no igualdad)suma_total = suma_dos_numeros(10,15)print(suma_total)# 25
¿Qué debo recordar al definir funciones?
Usa def y termina la línea con dos puntos.
Indenta el bloque interno con cuatro espacios.
Retorna con return el valor que necesites reutilizar.
¿Cómo se conectan con el flujo del programa?
El intérprete corre de arriba hacia abajo y de izquierda a derecha.
Llama funciones cuando las necesitas y pasa los argumentos correctos.
Aprovecha la composición para escribir menos código repetido.
¿Con qué built-in trabajas más a diario o qué patrón de parámetros te resulta más claro: posicionales o named arguments? Comparte tu experiencia y ejemplos en los comentarios.
Estas son las built-in functions y pueden revisar masa detalle su descripción aquí
Excelente muchas gracias!
Gracias!!
La estructura:
Buen aporte amigo!
¡Con gusto @Monares!
Funciones
En el contexto de la programación las funciones son una agrupación de enunciados que tienen un nombre.
!important: Una de las cosas más importantes que hace un programador es poner nombres porque se pasa más tiempo leyendo código que escribiendo.
El nombre de la función deberá ser descriptivo
puede tener parámetros
Puede regresar un valor después que se generó el cómputo (Lo que devuelve, después de realizar el computo de nuestra función)
Se puede usar funciones con parámetros opcionales, que son inicializados con datos por defecto
Python tiene una librería de funciones estándar muy completa (built in functions), la cuál se puede encontras a continuación:
*
Python tiene Battery included, lo que significa que tiene una librería estándar con muchas funciones que podemos utilizar sin tener que instalar nada más conocidas como built-in functions.
*
A continuación la lista actualizada hasta hoy (pueden acceder a la documentación al hacer click):
¡Muchas gracias por el aporte! 😄
¡Nunca pares de aprender! 🦄
Què genial quedó todo, gran trabajo.
Estoy trabajando en consola y no podía replicar la llamada a la función. La solución es PRESIONAR ENTER después de escribir el RETURN:
def suma_de_dos_numeros(x, y):
… return x + y
… (PRESIONAR ENTER)
suma_de_dos_numeros
25
En caso de que a alguien le suceda un error similar.
muchas gracias
En python es correcto usar camelCase o es digamos “obligatorio” usar snake_case ?
es una buena práctica - una convención - para que otros que lean tu código lo puedan entender.
Dale una mirada a Naming Conventions -
Acorde al Pep8 (convención de código de python) no se usa el camelCase, se usa como bien citas algo como snake_case.
Está un poco complejo el curso para principiantes, toma varias cosas básicas por sentado. Les recomiendo ir haciendo el curso de codeacademy de python para ir complementando.
También pueden usar este libro
Es gratis para leer bajo "Creative Commons License"
y te explica desde cero todo de python. Muy bueno para complementar.
¡Hola Steve! ¿Que crees que el curso toma por sentado y debería ser explicado más detalladamente?
Aquí algunos ejemplos e Built-in Functions y como se usan
clients='Juan, Melissa,'def create_client(client_name): global clients
clients+=client_name
_add_coma()def list_clients(): global clients
print(clients)def _add_coma(): global clients #aqui la variable clients la podemos utilizar en la actual funcion
clients +=','if __name__ =='__main__':list_clients()create_client('David')list_clients()
Límites al declarar funciones:
Los nombres no pueden comenzar con dígitos
No pueden utilizar una palabra reservada
Las variables deben tener diferentes nombres
Los nombres de las funciones deben ser descriptivas de lo que hacen las funciones, por convención palabras separadas con _
El profe me hizo sentir tan viejo, yo aprendi a programar en basic con programación estructurada
Jajajaja yo empece programando con Pascal xD
jajaja yo también en Pascal y en una materia de circuitos electrónicos hasta en ensamblador :S
Funciones en python:
*Las funciones son una agrupación de enunciados que tienen un nombre.
*Tienen un nombre(Descriptivo)
*Tienen parámetros(Lo que recibe)
*Puede regresar un valor(Lo que devuelve, después de realizar el computo de nuestra función)
Pd:Python tiene (Battery included) = Python tiene una librería estándar con un sin fin de funciones que podemos utilizar conocidas como (BUILT-IN FUNCTIONS)
Adicionalmente, se puede usar funciones con parámetros opcionales, que son inicializados con datos por defecto, a continuación, un ejemplo:
`# deficiente de función
def mi_funcion(parametro=‘por_defecto’):
return parametro
llamado de función
print(mi_funcion())`
por_defecto
print(mi_funcion(‘hola’))
hola
La funciones básicamente tienen como objetivo retornar un valor.
La compañía de impresoras XEROX en sus laboratorios de investigación, fueron quienes desarrollaron la programación orientada objetos, al igual que las interfaces gráficas de las cuales se enamoraría profundamente poco después Steve Jobs.
print('-----------------------')def suma_numeros(x,y,z):return x + y +z
print('suma_numeros')sumas =suma_numeros(4,11,5)print(sumas)print('--------------------------')```
Cuando se trabaja con funciones hay que hacer distinción entre dos conceptos el de parámetro y el de argumento:
El parámetro se define al crear la función y es una variable que esta en espera de un valor de entrada. Además, algunos parámetros se pueden definir con valores por defecto, los cuales se pueden cambiar cuando se hace llamado de la función.
-El argumento es el valor o valores de entrada que son puestos dentro de la función cuando se llama a la función dentro del procedimiento principal.
acá les comparto mis apuntes para esta clase
Funciones
Existen lenguajes de programación que sólo usan funciones.
Son una agrupación de Statements, que poseen un nombre y realizan una acción o computo.
Los nombres de funciones deben ser descriptivos, se le pueden agregar parámetros (que recibe la función), y estas pueden regresar un valor, que puede ser aprovechado en el resto del programa.
Python tiene una "filosofía" de Batteries included (baterías incluidas) ya que en su librería estándar tiene muchas Built-in functions (funciones incluidas) y módulos que podemos utilizar.
Built-in functions o globales y módulos
Las built-in functions son parte de la librería estándar de Python, algunas son de uso bastante común y deberás memorizarlas y otras no tanto, pero debes saber que existen.
Los módulos, se utilizan para todas las cosas que no estan en las built-in pero nos brindan otra serie de funciones estas deben ser importadas. Un ejemplo de ellas es el módulo math, que sirve para realizar operaciones matemáticas y contiene una serie de funciones internas, como logaritmos, funciones trigonométricas entre otras.
Para declarar funciones utilizamos el keyword def, ejemplo:
def my_function(first_arg, second_arg=None)
acá se estan pasando dos argumentos a la función. Los argumentos pueden ser de tipo posicional, o named arguments(argumentos con valores predefinidos). Los valores de una función pueden ser pasados dentro de otra función. Ej:
def sum_two_numbers(x,y):return x + y
other_function(sum_two_numbers(3,4))
Las funciones y mayoria de programas se ejecutan de arriba hacia abajo y de izquierda a derecha.
Pasar un tipo de dato a otro se llama casteo o casting: por ejemplo:
age ="30"age_num =int(age)print(age_num +1)# Output: 31
En este caso tomamos la variable age que es de tipo str y la pasamos como parametro a int por eso es que luego se puede sumar, de lo contrario lansaria un error.