El texto original con sus ejercicios tiene Tokens 6,183 Characters 2,4282
El texto que logre resumir Tokens 1,092 Characters 3767
Esto con el fin de no perder fidelidad de datos y que tanto un usuario nuevo como experimentado pueda entender el lenguaje de Python, por eso se mantuvieron ejemplos con ejercicios.
Introducción:Python es un lenguaje de programación interpretado y de alto nivel, enfocado en la legibilidad. Usado en aplicaciones como Instagram y Netflix, es multiparadigma, dinámico, multiplataforma y de código abierto.
Historia:Python fue creado por Guido van Rossum en los años 80, lanzado en 1991 como sucesor del lenguaje ABC. En 2000, Python 2.0 mejoró la recolección de basura y añadió listas por comprensión. En 2018, van Rossum dejó la dirección de Python a la comunidad.
Filosofía:Python promueve la simplicidad y claridad, con principios como "La legibilidad cuenta" y "Simple es mejor que complejo", que guían su desarrollo.
Tipos de Datos:
str
,bytes
(inmutables)list
,set
,dict
(mutables)tuple
(inmutable)int
,float
,complex
,bool
(numéricos y booleanos)
Mutable vs. Inmutable:
- Mutable: Puede modificarse (listas, diccionarios).
- Inmutable: No se puede modificar (cadenas, tuplas).
Condicionales:Controlan el flujo con if
, elif
y else
. Los operadores lógicos and
y or
permiten combinar condiciones.
Ejemplo de Condicionales:
verdadero = True
if verdadero:
print("Verdadero")
else:
print("Falso")
Bucles:
- Bucle
for
: Itera sobre un iterable, ejecutando un bloque de código por cada elemento.
lista = ["a", "b", "c"]
for i in lista:
print(i)
- Bucle
while
: Ejecuta mientras la condición sea verdadera.
numero = 0
while numero < 10:
print(numero)
numero += 1
Listas y Tuplas:
- Listas: Mutables, definidas con
[]
, para almacenar elementos. - Tuplas: Inmutables, definidas con
()
, para elementos heterogéneos.
Ejemplo de lista:
lista = ["abc", 42, 3.1415]
lista.append(True)
Diccionarios:Colecciones mutables con pares clave-valor, definidos con {}
.
diccionario = {"cadena": "abc", "numero": 42}
Sentencia match-case
:Introducida en Python 3.10, permite hacer coincidencia estructural similar a switch-case
.
from dataclasses import dataclass
@dataclass
class Punto:
x: int
y: int
coordenada = Punto(10, 34)
match coordenada:
case Punto(x=10, y=40):
print("Coordenada 10, 40")
case Punto():
print("es un punto")
Conjuntos (Set):Son colecciones sin orden y sin duplicados, útiles para operaciones matemáticas como intersección y unión.
conjunto1 = set(["a", "b", "a"])
conjunto2 = set(["a", "b", "c", "d"])
print(conjunto1 & conjunto2) # Intersección
Listas por comprensión:Creación compacta de listas.
[i * i for i in range(5)] # [0, 1, 4, 9, 16]
Funciones:Se definen con def
y pueden usar *args
para argumentos posicionales y **kwargs
para argumentos con nombre.
- Ejemplo de función:
def suma(x, y=2):
return x + y
- Uso de
*args
:
def suma(*args):
return sum(args)
- Uso de
**kwargs
:
def suma(**kwargs):
return sum(kwargs.values())
- Funciones anónimas con
lambda
:
suma = lambda x, y=2: x + y
Clases:Definidas con class
, las clases tienen atributos (variables) y métodos (funciones). __init__
inicializa los objetos, y self
se usa para acceder a los atributos.
- Ejemplo de clase:
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def mostrar_edad(self):
print(self.edad)
def modificar_edad(self, edad):
if 0 <= edad <= 150:
self.edad = edad
else:
return False
p = Persona('Alicia', 20)
p.mostrar_edad() # 20
p.modificar_edad(21) # Cambia la edad a 21