Santiago Quiñones Cuenca
Software Developer and Educator, Master in Software Engineering, Research UTPL {Loja, Ecuador} Repositories: http://github.com/lsantiago
SEMANA 3
Profesor: MSc. Santiago Quiñones
Docente Investigador
Departamento de Ingeniería Civil
2.3 Funciones
Funciones en Python
Una función es un bloque de código reutilizable que permite estructurar mejor los programas, haciéndolos más organizados y fáciles de mantener. Una función realiza una tarea específica y puede ser utilizada varias veces sin necesidad de reescribir el código.
Anatomía de una función
Las funciones en Python comienzan con la palabra clave def, seguida del nombre de la función y los parámetros entre paréntesis.
def celsius_a_fahrenheit(temp_celsius):
return 9/5 * temp_celsius + 32
Anatomía de una función
Las funciones en Python comienzan con la palabra clave def, seguida del nombre de la función y los parámetros entre paréntesis.
palabra clave def
nombre de la función
parámetros
declaración return
valor de retorno
def celsius_a_fahrenheit(temp_celsius):
return 9/5 * temp_celsius + 32
Llamando una función
Para ejecutar una función, simplemente la llamamos por su nombre y proporcionamos los valores necesarios para los parámetros.
print(celsius_a_fahrenheit(0))
32
Funciones dentro de funciones
Una función puede llamar a otra función para realizar cálculos más complejos. Por ejemplo, convertir Kelvin a Fahrenheit utilizando conversiones intermedias.
def celsius_a_fahrenheit(temp_celsius):
return 9/5 * temp_celsius + 32
def kelvins_a_celsius(temp_kelvins):
return temp_kelvins - 273.15
def kelvins_a_fahrenheit(temp_kelvins):
temp_celsius = kelvins_a_celsius(temp_kelvins)
return celsius_a_fahrenheit(temp_celsius)
print(kelvins_a_fahrenheit(500))
Funciones dentro de funciones
Conversión de temperaturas, ejecución paso a paso
Parámetros y valores de retorno
Algunas funciones solo ejecutan acciones sin devolver valores, como imprimir un mensaje.
Funciones sin valor de retorno
def saludar(nombre):
print(f"Hola, {nombre}!")
saludar("Carlos")
Hola, Carlos!
Parámetros y valores de retorno
Las funciones pueden aceptar varios parámetros para realizar operaciones más complejas.
Funciones con múltiples parámetros
def multiplicar(a, b):
return a * b
print(multiplicar(4, 5))
20
Parámetros y valores de retorno
Podemos definir parámetros con valores predeterminados.
Parámetros requeridos y opcionales
def potencia(base, exponente=2):
return base ** exponente
print(potencia(3))
print(potencia(3, 3))
9
27
Parámetros y valores de retorno
Las funciones pueden retornar varios valores empaquetados en una tupla.
Funciones con múltiples valores de retorno
def operaciones(a, b):
suma = a + b
resta = a - b
return suma, resta
resultado = operaciones(10, 4)
print(resultado)
(14, 6)
Uso de inteligencia artificial en la programación
Los modelos de inteligencia artificial, como ChatGPT, pueden generar código en Python basado en instrucciones proporcionadas por el usuario. Estos modelos pueden ser útiles para generar funciones, entender conceptos y acelerar el desarrollo, aunque deben usarse con precaución.
Uso de inteligencia artificial en la programación
Como puede observar, la figura muestra un ejemplo de solicitud de generación de código en ChatGPT. A continuación obtendremos el resultado:
# Solicitud al modelo:
# "Escribe una función en Python que sume dos números"
def sumar(a, b):
return a + b
print(sumar(5, 7))
12
Consideraciones sobre el uso de IA
Aunque los modelos de IA pueden ser útiles para generar código, es importante revisar los resultados y comprender su funcionamiento. Además, los modelos pueden generar respuestas incorrectas o inseguras si no se formulan las preguntas adecuadas.
# Solicitud al modelo:
# "Escribe una función en Python que sume dos números"
def sumar(a, b):
return a + b
print(sumar(5, 7))
12
2.4 Colecciones de datos
Colecciones de datos
Las colecciones de datos en Python permiten almacenar y manipular múltiples valores de manera eficiente. Las principales estructuras de colección en Python son:
Listas en Python
Las listas son estructuras de datos que pueden contener múltiples valores en un orden específico. Son mutables, lo que significa que sus elementos pueden modificarse después de su creación.
Creación de listas
valores = [10, 20, 30, 40]
Sintaxis
Listas en Python
Acceder a los elementos de una lista
print(valores[0]) # Accede al primer elemento
print(valores[2]) # Accede al tercer elemento
print(valores[3]) # Accede al último elemento
# Salida
10
30
40
Listas en Python
Acceder a elementos con índices negativos
print(valores[-1]) # Accede al último elemento
print(valores[-2]) # Accede al penúltimo elemento
# Salida
40
30
-1
-2
-3
-4
Listas en Python
Acceder a un rango de elementos
# Elementos desde la posición 1 hasta 2 (sin incluir 3)
print(valores[1:3])
Se puede seleccionar un subconjunto de elementos de una lista usando rebanado (slicing).
nombre_lista [ inicio : final ]
inclusivo exclusivo
Listas en Python
Modificar elementos en una lista
valores[2] = 35 # Modifica el tercer elemento
índice del elemento a modificar
nuevo valor
Listas en Python
Agregar elementos a la lista
valores.append(50) # Agrega un nuevo valor al final
Listas en Python
Eliminar elementos en una lista
del valores[1] # Elimina el segundo elemento
Tuplas en Python
Las tuplas son similares a las listas, pero su principal diferencia es que son inmutables, lo que significa que no pueden modificarse después de su creación.
Creación de una tupla
coordenadas = (3.5, 5.7)
Sintaxis
Tuplas en Python
Acceder a elementos en una tupla
print(coordenadas[0]) # Devuelve el primer valor
Es posible igual acceder a rangos de elementos tal como en las listas.
Diccionarios en Python
Los diccionarios almacenan datos en pares clave-valor y permiten un acceso rápido a la información.
Creación de un diccionario
estudiante = {"nombre": "Carlos", "edad": 22, "curso": "Python"}
Sintaxis
Diccionarios en Python
Acceder a valores en un diccionario
print(estudiante["nombre"]) # Devuelve "Carlos"
Diccionarios en Python
Modifica valores en un diccionario
estudiante["edad"] = 23 # Modifica la edad
Estructuras repetitivas
Implementación en Python - Estructura for
for variable in iterable:
# Código a ejecutar en cada iteración
Sintaxis
Nombre que se da al elemento actual en cada iteración
cualquier objeto iterable (lista, tupla, diccionario, cadena)
El for
es otro bloque de código, se debe agregar los dos puntos y utilizar identaciones para las acciones.
Estructuras repetitiva for
Ejemplo con una lista
ciudades = ["Madrid", "París", "Londres", "Berlín"]
for ciudad in ciudades:
print(ciudad)
objeto iterable
variable
Estructuras repetitiva for
Iteración usando índices
animales = ["Perro", "Gato", "Elefante"]
for i in range(len(animales)):
print(f"{animales[i]} está en el índice {i}")
Podemos recorrer una lista utilizando índices con la función range()
y len()
. Esto es útil cuando se necesita manipular los elementos de la lista dentro del bucle.
Ejemplo con lista de animales
¿Tienes más preguntas sobre la temática?
Seleccione el componente Programación Geoespacial
y consulta lo que quieras saber.
By Santiago Quiñones Cuenca
Unidad 2: Fundamentos de Python (Funciones y estructuras de datos)
Software Developer and Educator, Master in Software Engineering, Research UTPL {Loja, Ecuador} Repositories: http://github.com/lsantiago