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
: DevuelveTrue
si ambas condiciones sonTrue
.or
: DevuelveTrue
si al menos una condición esTrue
.not
: Invierte el valor lógico. Si esTrue
, lo convierte enFalse
y 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
<
: DevuelveTrue
si el primer valor es menor que el segundo.>
: DevuelveTrue
si 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. Devuelve1
solo si ambos bits son1
.|
: OR bit a bit. Devuelve1
si al menos uno de los bits es1
.^
: XOR bit a bit. Devuelve1
si solo uno de los bits es1
.~
: NOT bit a bit. Invierte todos los bits.<<
: Desplaza los bits a la izquierda. Multiplica por2
por cada desplazamiento.>>
: Desplaza los bits a la derecha. Divide por2
por 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.