28 de Noviembre de 2024
En la tutoría de hoy se revisaron los siguientes temas:
Operadores Aritméticos
Los operadores aritméticos se utilizan para realizar operaciones matemáticas básicas como suma, resta, multiplicación, división, etc.
Ejemplo de Código
num_a = 5
num_b = 2
suma = num_a + num_b
print(f"num_a + num_b = {suma}")
resta = num_a - num_b
print(f"num_a - num_b = {resta}")
multiplicacion = num_a * num_b
print(f"num_a * num_b = {multiplicacion}")
division = num_a / num_b
print(f"num_a / num_b = {division}")
division_entera = num_a // num_b
print(f"num_a // num_b = {division_entera}")
modulo = num_a % num_b
print(f"num_a % num_b = {modulo}")
potencia = num_a ** num_b
print(f"num_a ** num_b = {potencia}")
Explicación
+: Suma dos números.-: Resta dos números.*: Multiplica dos números./: Realiza una división y devuelve un número de punto flotante.//: Realiza una división entera, descartando los decimales.%: Calcula el resto de la división (módulo).**: Calcula la potencia de un número.
Operadores Lógicos
Los operadores lógicos permiten combinar condiciones que devuelven valores booleanos (True o False).
Ejemplo de Código
print(f"True and False is {True and False}")
print(f"True or False is {True or False}")
print(f"not True is {not True}")
print(f"not False is {not False}")
Explicación
and: DevuelveTruesi ambas condiciones sonTrue.or: DevuelveTruesi al menos una condición esTrue.not: Invierte el valor lógico. Si esTrue, lo convierte enFalsey viceversa.
Operadores Relacionales
Los operadores relacionales comparan dos valores y devuelven True o False.
Ejemplo de Código
num_a = 5
num_b = 3
if num_a < num_b:
print(f"{num_a} es menor que {num_b}")
else:
print(f"{num_a} es mayor o igual a {num_b}")
Explicación
<: DevuelveTruesi el primer valor es menor que el segundo.>: DevuelveTruesi el primer valor es MAYOR que el segundo.
Sentencias Condicionales
Las sentencias condicionales permiten ejecutar diferentes bloques de código según una condición.
Ejemplo de Código
num = -5
if num < 0:
print(f"{num} es negativo")
elif num == 0:
print(f"{num} es cero")
else:
print(f"{num} es positivo")
Explicación
if: Evalúa la primera condición.elif: Evalúa condiciones adicionales si las anteriores sonFalse.else: Se ejecuta si ninguna de las condiciones anteriores esTrue.
Los bloques de código se definen mediante la indentación. Python utiliza la indentación en lugar de llaves {} para definir bloques de código.
Pueden existir múltiples bloques elif pero sólo un bloque else. Tanto elif como else son opcionales por lo que un if puede estar solo, pero un elif o else debe estar precedido por un if forzosamente.
Las sentencias condicionales pueden anidarse, es decir, un bloque if puede contener otro bloque if.
Ejemplo de Código
num = 5
if num >= 0:
if num == 0:
print(f"{num} es cero")
else:
print(f"{num} es positivo")
else:
print(f"{num} es negativo")
Nota: La anidación excesiva puede hacer que el código sea difícil de leer y mantener. Se recomienda mantener la anidación al mínimo. Evitemos la anidación excesiva de sentencias condicionales.

Operadores Bit a Bit
Los operadores bit a bit trabajan directamente con los bits de los números.
Ejemplo de Código
and_bitwise = 1 & 0
print(f"1 & 0 = {and_bitwise}")
or_bitwise = 1 | 0
print(f"1 | 0 = {or_bitwise}")
xor_bitwise = 1 ^ 0
print(f"1 ^ 0 = {xor_bitwise}")
xor_bitwise = 1 ^ 1
print(f"1 ^ 1 = {xor_bitwise}")
not_bitwise = ~1
print(f"~1 = {not_bitwise}")
left_shift = 1 << 2
print(f"1 << 2 = {left_shift}")
right_shift = 6 >> 2
print(f"6 >> 2 = {right_shift}")
Explicación
&: AND bit a bit. Devuelve1solo si ambos bits son1.|: OR bit a bit. Devuelve1si al menos uno de los bits es1.^: XOR bit a bit. Devuelve1si solo uno de los bits es1.~: NOT bit a bit. Invierte todos los bits.<<: Desplaza los bits a la izquierda. Multiplica por2por cada desplazamiento.>>: Desplaza los bits a la derecha. Divide por2por cada desplazamiento.
Función Principal
El siguiente código define una función principal main que se ejecuta exclusivamente si el archivo se está ejecutando directamente.
Ejemplo de Código
print("Se ejecuta siempre.")
def main():
print("Se ejecuta exclusivamente al invocar el programa de forma directa.")
if __name__ == "__main__":
main()
Explicación
def main(): Define una función llamadamain.if __name__ == "__main__":: Este bloque se ejecuta solo si el archivo se ejecuta directamente, no si es importado como módulo.