Clase 2: Operadores, strings y estructura de control if-elif-else
¶
1. Operadores en Python¶
Los operadores en Python permiten realizar diversas operaciones, desde cálculos matemáticos hasta comparaciones lógicas. Son fundamentales para la programación, puesto que permiten manipular datos de manera efectiva.
Operadores Matemáticos¶
Los operadores matemáticos permiten realizar cálculos entre valores numéricos. Python maneja automáticamente los tipos de datos adecuados en las operaciones.
Operador | Descripción | Ejemplo (a = 10, b = 3 ) |
Resultado |
---|---|---|---|
+ |
Suma | a + b |
13 |
- |
Resta | a - b |
7 |
* |
Multiplicación | a * b |
30 |
/ |
División (decimal) | a / b |
3.3333 |
// |
División entera | a // b |
3 |
% |
Módulo (residuo) | a % b |
1 |
** |
Potencia | a ** b |
1000 |
Python respeta la jerarquía de operaciones matemáticas. Primero ejecuta las potencias, luego multiplicaciones y divisiones, y por último sumas y restas.
Ejemplo de las operaciones matemáticas:
a = 10
b = 3
print(a + b) # Suma: 13
print(a - b) # Resta: 7
print(a * b) # Multiplicación: 30
print(a / b) # División: 3.3333
print(a // b) # División entera: 3
print(a % b) # Módulo: 1
print(a ** b) # Potencia: 1000
Operadores de Asignación¶
Los operadores de asignación permiten modificar el valor de una variable de manera eficiente.
En lugar de escribir expresiones completas como x = x + 5
, se puede utilizar x += 5
para reducir la complejidad del código.
Operador | Descripción | Ejemplo (a = 5 ) |
Equivalente |
---|---|---|---|
= |
Asigna un valor | a = 5 |
a = 5 |
+= |
Suma y asigna | a += 3 |
a = a + 3 |
-= |
Resta y asigna | a -= 2 |
a = a - 2 |
*= |
Multiplica y asigna | a *= 4 |
a = a * 4 |
/= |
Divide y asigna | a /= 2 |
a = a / 2 |
//= |
División entera y asigna | a //= 3 |
a = a // 3 |
%= |
Módulo y asigna | a %= 2 |
a = a % 2 |
**= |
Exponente y asigna | a **= 3 |
a = a ** 3 |
Operadores Relacionales¶
Estos operadores permiten comparar valores y devuelven un resultado booleano (True
o False
).
Operador | Descripción | Ejemplo (a = 10, b = 3 ) |
Resultado |
---|---|---|---|
== |
Igualdad | a == b |
False |
!= |
Diferente | a != b |
True |
> |
Mayor que | a > b |
True |
< |
Menor que | a < b |
False |
>= |
Mayor o igual que | a >= b |
True |
<= |
Menor o igual que | a <= b |
False |
Operadores Lógicos¶
Se usan para combinar expresiones booleanas.
Operador | Descripción | Ejemplo (a = True, b = False ) |
Resultado |
---|---|---|---|
and |
True si ambas son True |
a and b |
False |
or |
True si al menos una es True |
a or b |
True |
not |
Invierte el valor | not a |
False |
2. Uso de Strings en Python¶
Los strings en Python son secuencias de caracteres y ofrecen una gran variedad de métodos para manipularlos. A continuación, se explican algunas de sus principales funcionalidades.
Métodos de Strings¶
Python proporciona diversos métodos para trabajar con cadenas de texto. Se presenta una tabla con los métodos más comunes:
Método | Descripción |
---|---|
capitalize() |
Convierte el primer carácter en mayúscula. |
center(width) |
Centra el string dentro de un ancho especificado. |
count(substring) |
Devuelve el número de veces que aparece un valor especificado. |
encode() |
Codifica el string a una versión específica. |
endswith(suffix) |
Devuelve True si la cadena termina con el valor especificado. |
expandtabs(size) |
Establece el tamaño del tabulador en el string. |
find(substring) |
Busca una subcadena y devuelve la posición donde se encontró por primera vez. |
format() |
Formatea valores dentro de un string. |
index(substring) |
Similar a find() , pero genera error si no se encuentra. |
isalnum() |
Devuelve True si todos los caracteres son alfanuméricos. |
isalpha() |
Devuelve True si todos los caracteres son letras. |
isdigit() |
Devuelve True si todos los caracteres son números. |
islower() |
Devuelve True si todos los caracteres están en minúscula. |
isnumeric() |
Devuelve True si el string solo contiene números. |
isspace() |
Devuelve True si todos los caracteres son espacios en blanco. |
join(iterable) |
Une elementos de un iterable con la cadena como separador. |
lower() |
Convierte el string a minúsculas (menos agresivo que casefold() ). |
replace(old, new) |
Reemplaza un valor por otro dentro de la cadena. |
split(separator) |
Divide la cadena en una lista, usando un separador específico. |
startswith(prefix) |
Devuelve True si el string comienza con el valor especificado. |
strip() |
Elimina espacios en blanco al inicio y al final de la cadena. |
upper() |
Convierte todos los caracteres a mayúsculas. |
zfill(width) |
Rellena la cadena con ceros a la izquierda hasta el ancho especificado. |
La sintaxis para ejecutar un método sobre un string es la siguiente:
Ejemplo de uso de métodos comunes:
texto = "hola mundo"
print(texto.capitalize()) # Hola mundo
print(texto.upper()) # HOLA MUNDO
print(texto.replace("mundo", "Python")) # hola Python
Slicing de Strings¶
El slicing permite extraer partes específicas de un string mediante índices.
Es importante mencionar que los strings (cadenas de caracteres) permiten acceder a cada uno de sus caracteres por medio de la posición o índice en que se encuentran en el string. Esta numeración comienza a partir de 0, el cual corresponde al primer caracter.
Expresión | Descripción |
---|---|
cadena[0:n] |
Extrae desde el inicio hasta el índice n (sin incluirlo). |
cadena[m:] |
Extrae desde el índice m hasta el final. |
cadena[m:n] |
Extrae desde el índice m hasta el n (sin incluirlo). |
cadena[-n:] |
Extrae los últimos n caracteres. |
Ejemplo de slicing:
texto = "Python"
print(texto[:4]) # Pyth
print(texto[2:]) # thon
print(texto[1:4]) # yth
print(texto[-3:]) # hon
Caracteres de Escape en Strings¶
Los caracteres de escape permiten incluir caracteres especiales dentro de un string sin interferencias respecto a sus funciones nativas en Python.
Caracter | Descripción |
---|---|
\' |
Comilla simple. |
\\ |
Barra invertida. |
\n |
Nueva línea. |
\r |
Retorno de carro. |
\t |
Tabulación. |
\b |
Retroceso. |
\f |
Salto de página. |
\ooo |
Valor octal. |
\xhh |
Valor hexadecimal. |
Ejemplo de uso de los caracteres de escape:
3. Valores Booleanos en Python¶
Python maneja valores booleanos (True
y False
) que resultan de comparaciones y operaciones lógicas.
4. Estructura de Control if-elif-else
¶
¿Qué es una estructura condicional?¶
En programación, una estructura condicional permite tomar decisiones basadas en ciertas condiciones.
En Python, se usa la estructura if-elif-else
para evaluar diferentes escenarios y ejecutar bloques de código según se cumplan o no determinadas condiciones.
Sintaxis básica de if
¶
Uso correcto de la indentación
Observe la indentación para indicar que el bloque de código pertenece al if
.
El bloque de código dentro del if
se ejecuta solo si la condición es True
. Si la condición es False
, el bloque se ignora.
Ejemplo:
Uso de elif
y else
¶
elif
: Se utiliza para verificar una condición alternativa respecto a la delif
inicial. Esta se verifica si elif
no se ejecutó.else
: En el caso en que ninguna condición se cumpla, se ejecuta el bloque de código perteneciente a esta.
edad = 14
if edad >= 18:
print("Eres adulto.")
elif edad >= 13:
print("Eres adolescente.")
else:
print("Eres un niño.")
if
anidado¶
Es posible anidar estructuras if
dentro de otras para evaluar múltiples condiciones de manera jerárquica.
Operador ternario¶
Python permite simplificar condicionales mediante un operador ternario, que es una expresión compacta equivalente a if-else
.
Este operador es útil cuando se necesita asignar valores en función de una condición de manera concisa.