type(5)
int
Aquí se presentarán los conceptos y funciones de Python conforme las utilicemos en el curso. Se sugiere revisar la primera parte del libro Python Programming and Numerical Methods.
Python soporta varios tipos de datos integrados, usados para almacenar valores. Estos incluyen:
Python soporta tres tipos numéricos diferentes:
int: Números enteros, por ejemplo, 5
, 100
.
float: Números de punto flotante, por ejemplo, 5.5
, 100.0
.
complex: Números complejos, por ejemplo, 1+2j
.
La función type()
en Python se utiliza para determinar el tipo de dato de una variable u objeto. Por ejemplo:
type(5)
int
type(5.5)
float
type(1+2j)
complex
Las cadenas son secuencias de caracteres encerradas entre comillas simples o dobles.
type("Esta secuencia de caracteres es del tipo string")
str
Los valores booleanos representan True
o False
.
type(True)
bool
type(False)
bool
Las listas en Python son estructuras de datos que permiten almacenar múltiples elementos en un solo contenedor. Estos elementos pueden ser de diferentes tipos de datos, como números, cadenas, booleanos, e incluso otras listas. Las listas son mutables, lo que significa que sus elementos pueden ser modificados después de su creación.
Se pueden crear listas utilizando corchetes []
o el constructor list()
.
# Crear listas
= [1, 2, 3, 4, 5] # Lista con elementos
mi_lista = [] # Lista vacía
lista_vacia = [1, "texto", True, 3.14] # Lista con diferentes tipos de datos
lista_mixta = list((6, 7, 8)) # Lista a partir de una tupla lista_con_list
Las listas en Python tienen varios métodos incorporados para facilitar su manipulación. A continuación, se enumeran los más comunes:
Método | Descripción |
---|---|
append(x) |
Agrega un elemento al final de la lista. |
extend(iter) |
Extiende la lista agregando todos los elementos de un iterable. |
insert(i, x) |
Inserta un elemento en una posición específica. |
remove(x) |
Elimina la primera ocurrencia de un elemento. |
pop([i]) |
Elimina y devuelve el elemento en el índice especificado (por defecto, el último). |
clear() |
Elimina todos los elementos de la lista. |
index(x) |
Devuelve el índice de la primera ocurrencia del elemento especificado. |
count(x) |
Devuelve el número de ocurrencias de un elemento en la lista. |
sort() |
Ordena la lista en su lugar (de menor a mayor por defecto). |
reverse() |
Invierte el orden de los elementos de la lista. |
copy() |
Devuelve una copia superficial de la lista. |
= [3, 1, 4, 1, 5]
mi_lista 9) # [3, 1, 4, 1, 5, 9]
mi_lista.append(2, 6]) # [3, 1, 4, 1, 5, 9, 2, 6]
mi_lista.extend([2, 8) # [3, 1, 8, 4, 1, 5, 9, 2, 6]
mi_lista.insert(1) # [3, 8, 4, 1, 5, 9, 2, 6]
mi_lista.remove(= mi_lista.pop() # Devuelve 6, lista: [3, 8, 4, 1, 5, 9, 2]
elemento # [1, 2, 3, 4, 5, 8, 9]
mi_lista.sort() # [9, 8, 5, 4, 3, 2, 1]
mi_lista.reverse() = mi_lista.copy() # [9, 8, 5, 4, 3, 2, 1]
copia # Lista vacía: [] mi_lista.clear()
Además de los métodos, existen funciones integradas que se pueden usar con listas:
Función | Descripción |
---|---|
len(lista) |
Devuelve el número de elementos en la lista. |
max(lista) |
Devuelve el valor máximo de la lista (si los elementos son comparables). |
min(lista) |
Devuelve el valor mínimo de la lista (si los elementos son comparables). |
sum(lista) |
Devuelve la suma de los elementos (si son numéricos). |
list(iter) |
Convierte un iterable (como una tupla o rango) en una lista. |
Ejemplos
= [3, 1, 4, 1, 5, 9]
mi_lista = len(mi_lista) # 6
longitud = max(mi_lista) # 9
maximo = min(mi_lista) # 1
minimo = sum(mi_lista) # 23
suma = list(range(5)) # [0, 1, 2, 3, 4] lista_rango
for
en PythonEl bucle for
en Python se utiliza para iterar sobre una secuencia de elementos, como listas, tuplas, cadenas, conjuntos o cualquier objeto iterable. Es una herramienta poderosa para recorrer elementos de manera ordenada y realizar operaciones repetitivas.
for
El bucle for
tiene la siguiente estructura:
#for variable in iterable:
# Bloque de código a ejecutar
variable
: Es una variable que toma el valor de cada elemento del iterable en cada iteración.
iterable
: Es una colección o un objeto que puede ser iterado, como listas, tuplas, cadenas, diccionarios, rangos, etc.
Bloque de código: Es el conjunto de instrucciones que se ejecutan en cada iteración. Este bloque debe estar indentado.
= [1, 2, 3, 4, 5]
numeros for numero in numeros:
print(numero)
1
2
3
4
5
= "Python"
cadena for caracter in cadena:
print(caracter)
P
y
t
h
o
n
range()
El objeto range()
genera una secuencia de números, comúnmente usado para iteraciones controladas.
for i in range(5):
print(i)
0
1
2
3
4
= {"a": 1, "b": 2, "c": 3}
diccionario for clave, valor in diccionario.items():
print(f"Clave: {clave}, Valor: {valor}")
Clave: a, Valor: 1
Clave: b, Valor: 2
Clave: c, Valor: 3
Usar break
para salir del bucle
El comando break
termina el bucle de manera inmediata.
for numero in range(10):
if numero == 5:
break
print(numero)
0
1
2
3
4
Usar continue
para saltar una iteración
El comando continue
omite el resto del código en la iteración actual y pasa a la siguiente.
for numero in range(5):
if numero == 2:
continue
print(numero)
0
1
3
4
else
con for
El bloque else
se ejecuta después de que el bucle se completa, a menos que se termine con un break
.
for numero in range(5):
print(numero)
else:
print("El bucle ha finalizado.")
0
1
2
3
4
El bucle ha finalizado.
Se pueden incluir bucles for
dentro de otros bucles para iterar sobre estructuras más complejas.
= [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
matriz for fila in matriz:
for elemento in fila:
print(elemento, end=" ")
1 2 3 4 5 6 7 8 9
while
en PythonEl bucle while
en Python permite ejecutar un bloque de código repetidamente mientras una condición sea verdadera. Es útil cuando no se conoce de antemano cuántas iteraciones serán necesarias.
while
#while condicion:
# Bloque de código a ejecutar
condicion
: Es una expresión que se evalúa como verdadera o falsa. Mientras sea verdadera, el bloque de código se ejecutará.
Bloque de código: Es el conjunto de instrucciones que se ejecutan en cada iteración. Debe estar indentado.
= 0
contador while contador < 5:
print(contador)
+= 1 contador
0
1
2
3
4
else
con while
El bloque else
se ejecuta cuando la condición del bucle se evalúa como falsa (excepto si se utiliza break
).
= 0
contador while contador < 3:
print(contador)
+= 1
contador else:
print("El bucle ha terminado.")
0
1
2
El bucle ha terminado.
break
para salir del bucle
El comando break
termina el bucle inmediatamente.
= 10
numero while numero > 0:
if numero == 5:
break
print(numero)
-= 1 numero
10
9
8
7
6
continue
para saltar una iteración
El comando continue
omite el resto del bloque de código en la iteración actual y pasa a la siguiente.
= 0
numero while numero < 5:
+= 1
numero if numero == 3:
continue
print(numero)
1
2
4
5
while
Evitar bucles infinitos: Asegúrate de que la condición eventualmente sea falsa.
Controlar el flujo: Usa condiciones claras y actualiza las variables relacionadas con el bucle dentro de su bloque.
Las funciones en Python son bloques de código reutilizables que se definen para realizar una tarea específica. Son útiles para organizar, simplificar y reutilizar código.
Una función en Python se define utilizando la palabra clave def
, seguida del nombre de la función, paréntesis (que pueden incluir parámetros) y dos puntos. El bloque de código de la función debe estar indentado.
Sintaxis básica
def nombre_funcion(parametros_opcionales):
"""Docstring: Describe qué hace la función (opcional)."""
# Código de la función
return resultado_opcional
Componentes
def
: Palabra clave que indica el inicio de una definición de función.
Nombre de la función: Un identificador válido que describe la tarea de la función.
Paréntesis: Contienen los parámetros opcionales que la función puede recibir.
return
: (Opcional) Palabra clave que devuelve un valor al llamador de la función.
def saludar():
"""Imprime un saludo simple."""
print("¡Hola!")
# Llamada a la función
saludar()
¡Hola!
def sumar(a, b):
"""Devuelve la suma de dos números."""
return a + b
# Llamada a la función
= sumar(5, 3)
resultado print(resultado) # Salida: 8
8
def presentar(nombre, edad=18):
"""Imprime una presentación con un valor predeterminado para la edad."""
print(f"Me llamo {nombre} y tengo {edad} años.")
# Llamadas a la función
"Ana") # Salida: Me llamo Ana y tengo 18 años. presentar(
Me llamo Ana y tengo 18 años.
"Luis", 25) presentar(
Me llamo Luis y tengo 25 años.
def multiplicar(*numeros):
"""Devuelve el producto de todos los números proporcionados."""
= 1
producto for num in numeros:
*= num
producto return producto
# Llamada a la función
= multiplicar(2, 3, 4)
resultado print(resultado) # Salida: 24
24
Las funciones lambda
son funciones pequeñas y anónimas definidas con la palabra clave lambda
. Se usan para operaciones simples.
Ejemplo de lambda
# Función lambda para sumar dos números
= lambda x, y: x + y
sumar
print(sumar(4, 6)) # Salida: 10
10
*args
o **kwargs
si es necesario.