Las funciones en Python son bloques de código reutilizables que permiten estructurar mejor los programas, evitar la repetición de código y hacerlos más legibles.
print() en PythonLa función print() en Python es una de las más utilizadas para mostrar información en la consola.
Es fundamental para depurar y entender cómo se ejecuta el código.
print()?La función print() muestra el valor de sus argumentos en la consola. Esta función es útil para:
El código print("¡Hola, Mundo!") utiliza la función print() para mostrar el texto “¡Hola, Mundo!” en la consola.
print("¡Hola, Mundo!")
# Salida: ¡Hola, Mundo! nombre = "Urian"
edad = 25
print("Nombre:", nombre, "Edad:", edad)
# Salida: Nombre: Urian, Edad: 25 f-stringsEl formato con f-strings permite insertar variables dentro de cadenas usando {}.
Solo necesitas anteponer f a la cadena y colocar el nombre de la variable dentro de las llaves. Es más limpio y legible.
nombre = "Brenda"
edad = 18
print(f"Nombre: {nombre}, Edad: {edad}")
# Salida: Nombre: Brenda, Edad: 18 La función print() es versátil y útil en cualquier nivel de programación en Python.
Permite desde lo más básico hasta configuraciones avanzadas para un mayor control de la salida de datos.
type() en PythonLa función type() en Python es una herramienta fundamental que te permite determinar el tipo de un objeto. Esto es útil para entender qué tipo de datos estás manejando en tu código y para asegurarte de que las operaciones que realizas sean compatibles con esos tipos.
type()?La función type() toma un argumento (un objeto) y devuelve el tipo de ese objeto. La sintaxis es simple:
type(objeto) numero = 10
print(type(numero))
# Salida: <class 'int'>
texto = "Hola, mundo"
print(type(texto))
# Salida: <class 'str'> listmi_lista = [1, 2, 3]
print(type(mi_lista))
# Salida: <class 'list'> dictmi_dict = {"nombre": "Ana", "edad": 30}
print(type(mi_dict))
# Salida: <class 'dict'> mi_conjunto = {1, 2, 3}
print(type(mi_conjunto))
# Salida: <class 'set'> tuplemi_tupla = (1, 2, 3)
print(type(mi_tupla))
# Salida: <class 'tuple'> La función type() es una herramienta útil en Python para verificar el tipo de los objetos.
Conocer el tipo de datos que estás utilizando puede ayudarte a evitar errores en tu código y a escribir programas más robustos.
defPara definir una función en Python, se utiliza la palabra clave def seguida del nombre de la función, paréntesis y dos puntos. Dentro de la función, escribes el bloque de código que deseas ejecutar.
def saludar():
print("Hola, bienvenido a Python") saludar() es el nombre de la función.
Todo lo que está dentro del bloque indentado será ejecutado cuando llames a la función.
Para llamar a la función, simplemente usa su nombre seguido de paréntesis:
saludar() Puedes definir funciones que acepten parámetros. Los parámetros permiten que una función reciba valores externos cuando es llamada.
def saludar(nombre):
print(f"Hola, {nombre}") Aquí, la función saludar() recibe un parámetro llamado nombre que se utiliza dentro del bloque.
Además, puedes definir valores por defecto para los parámetros. Si no se proporciona un valor, la función usará el valor por defecto:
def saludar(nombre="amigo"):
print(f"Hola, {nombre}") Si llamas a la función sin un argumento, usará el valor “amigo”:
saludar() # Hola, amigo
saludar("Juan") # Hola, Juan returnLas funciones pueden devolver un valor con la palabra clave return. Esto te permite almacenar el resultado de una función y usarlo más tarde.
def sumar(a, b):
return a + b Llamar a la función y almacenar el valor devuelto:
resultado = sumar(5, 3)
print(resultado)
# Salida: 8 PythonLos argumentos de palabra clave te permiten especificar valores para los parámetros de una función usando sus nombres. Esto hace que el código sea más claro y te permite pasar los argumentos en cualquier orden, siempre que los nombres coincidan con los definidos en la función.
def saludo(nombre, mensaje="Hola", emoji="😊"):
return f"{mensaje}, {nombre} {emoji}"
# Llamada con argumentos posicionales
resultado1 = saludo("Uriany", "¡Hola!", "🌟")
print(resultado1)
# Salida: ¡Hola!, Uriany 🌟
# Llamada con argumentos de palabra clave (el orden no importa)
resultado2 = saludo(emoji="🐱", mensaje="¡Buenos días!", nombre="Urian")
print(resultado2)
# Salida: ¡Buenos días!, Urian 🐱
# Usando valores predeterminados
resultado3 = saludo(nombre="Laura")
print(resultado3)
# Salida: Hola, Laura 😊 Los argumentos de palabra clave deben aparecer después de los argumentos posicionales si se combinan en una misma llamada.
*args y **kwargs en PythonEn Python, puedes usar *args y **kwargs para definir funciones que acepten un número variable de argumentos:
*args: Captura una lista de argumentos posicionales como una tupla.**kwargs: Captura argumentos nombrados como un diccionario.Esto permite que una función sea altamente flexible, adaptándose a diferentes cantidades y tipos de argumentos.
Sintaxis
def funcion_con_varios_argumentos(*args, **kwargs):
print("Posicionales (args):", args) # args es una tupla
print("Nombrados (kwargs):", kwargs) # kwargs es un diccionario Ejemplo básico
def funcion_con_varios_argumentos(*args, **kwargs):
print("Posicionales (args):", args)
print("Nombrados (kwargs):", kwargs)
funcion_con_varios_argumentos(1, 2, 3, nombre="Urian", edad=30)
# Salida:
# Posicionales (args): (1, 2, 3)
# Nombrados (kwargs): {'nombre': 'Urian', 'edad': 30} Uso en funciones dinámicas
Esto permite crear funciones que responden dinámicamente a los datos proporcionados:
def suma(*args):
return sum(args)
def describir(**kwargs):
for clave, valor in kwargs.items():
print(f"{clave}: {valor}")
# Llamadas
print(suma(1, 2, 3, 4)) # Salida: 10
describir(nombre="Urian", edad=35, pais="Colombia")
# Salida:
# nombre: Urian
# edad: 35
# pais: Colombia Con *args y **kwargs , puedes construir funciones dinámicas, legibles y potentes que se adapten a diferentes escenarios sin necesidad de definir múltiples versiones o sobrecargar funciones.
El scope (ámbito) de una variable se refiere a la parte del programa donde esa variable es accesible. Hay dos tipos principales de scope en Python:
def funcion_local():
mensaje = "Hola desde la función" # Variable local
print(mensaje)
funcion_local()
# print(mensaje) # Esto lanzará un error porque "mensaje" no es accesible fuera de la función. Por otro lado, las variables globales pueden ser usadas dentro de una función, pero no se pueden modificar a menos que uses la palabra clave global:
mensaje_global = "Soy global"
def cambiar_mensaje():
global mensaje_global # Usamos la palabra clave 'global'
mensaje_global = "He sido cambiado desde la función"
cambiar_mensaje()
print(mensaje_global) # He sido cambiado desde la función