Domina las bases de Python con una idea clara: con valores y operadores puedes construir cualquier programa, igual que un edificio con ladrillos, cemento y varilla. Aquí verás cómo operan suma, resta, división, división entera, módulo, exponenciación, y por qué el tipo de dato cambia su comportamiento. Practica en el Interactive Shell y pierde el miedo al error: experimentar es clave.
¿Qué son valores y operadores en Python?
Los operadores son acciones que combinan valores para producir resultados. Los valores son entidades que un programa puede manipular. La combinación de ambos es la base para crear desde lo simple hasta lo complejo.
Un valor tiene un tipo y eso afecta cómo operan los operadores.
La función global type() muestra el tipo de un valor.
El módulo ayuda a detectar divisiones exactas y “sobrantes” útiles en múltiples situaciones.
20 % 5 es 0: divisible exactamente.
21 % 5 es 1: sobra 1 tras dividir.
22 % 5 es 2: sobra 2 tras dividir hasta 20.
Ideal para verificar condiciones como “es múltiplo de X”.
¿Por qué el tipo de dato cambia el operador?
Los operadores son contextuales: con distintos tipos, cambian de significado. Por eso el tipo importa.
Números: suma y multiplicación hacen aritmética.
Strings: el operador + concatena; el operador * repite el texto.
Combinaciones inválidas disparan errores de tipo.
Ejemplos:
# Con strings"A"+"B"# "AB" (concatenación)"B"*5# "BBBBB" (repetición)"Plati"*5# "PlatiPlatiPlatiPlatiPlati"# Error por tipos incompatibles"A"/5# TypeError: no se puede dividir un string entre un entero
Operadores de asignación: permiten reutilizar una variable aplicando una operación y guardando el resultado.
A =5A +=3# suma y asignaprint(A)# 8# Práctica sugerida# Prueba también:# A *= 3# A /= 5# y observa los resultados con print(A)
Además, existen operadores de comparación e identidad. Investiga cuáles faltan y comparte tus hallazgos.
¿Con qué operadores de asignación y ejemplos te quedas? Comparte tus pruebas y resultados en los comentarios.
Operadores lógicos: Sirven para realizar comparaciones, devuelven un valor verdadero o falso.
Operador|Descripción|Ejemploand |¿se cumple a y b?| r=True and False # r es Falseor |¿se cumple a o b?| r=True o False # r es Truenot |No a | r=not True #r es False
Operadores relacionales: comparan dos expresiones y devuelven un valor verdadero o falso.
Operador|Descripción|Ejemplo==| ¿Son iguales a y b?| r=5==3 # r es False!=| ¿Son distintos a y b?| r=5!=3 # r es True<| ¿Es a menor que b?| r=5<3 # r es False>| ¿Es a mayor que b?| r=5>33 r es True<=| ¿Es a menor o igual que b?| r=5<=5 # r es True>=| ¿Es a mayor o igual que b?| r=5>=3 # r es True
Nunca he visto a un programador usar un Not True… de hecho por que lo usarias? si not true es == false, para eso directamente afirmamos que es false y listo
En este caso el not True, es un ejemplo para ilustrar el comportamiento del not, no es que siempre se lo deba usar de esa forma, además si bien en muchos casos puede ser más fácil usar el A == false, al usar la notación not le puedes dar mayor legibilidad al código, al ser mas expresivo y fácil de leer, por ejemplo imagina que tienes la variable is_correct y quieres saber cuando es false, lo puedes hacer de dos maneras
(is_correct == false)
(not is_correct)
La pregunta es, con cual te resulta más fácil de leer y entender?Aunque claro todo es cuestión de la situación y del estilo que uses para programar, al final del día lo importante es saber que existe y que si se da el caso, sepamos como se usa ese condicional
buen aporte, es la primera ves que lo veo como pemdas
Operadores aritmeticos
( ) = parentesis
= multiplicacion
/ = division
% = modulo
= suma
– = resta
** = potencia
Operadores racionales
> = mayor que
< = menor que
>= = mayor o igual que
>= = menor o igual que
!= = diferente
== = igualdad
= -> igual
Operadores lógicos
Not
And
Or
Prioridad de operadores en funcionalidad
()
**
*,/, not
+, -, and
> ,<,==,>=,<=, ! , or
Operadores de asignación
a + = 5 Suma en Asignación
b - = 2 resta en Asignación
a * = 3 multiplicación en Asignación
a / = 3 división en Asignación
a ** = 2 potencia en Asignación
a % = 2 modulo en Asignación
Buenisimo aporte, gracias compañero
¡Muchas gracias por el aporte! 😄
¡Nunca pares de aprender! 🦄
Un profesor que usa vim, que más se le puede pedir a la vida.
Para los nuevos, tal vez se pregunten que carajos es eso de interactive shell, la descripción corta es que es una especie de consola donde se pueden correr fragmentos de código en python sin necesidad de guardarlos en un archivo y demás, es muy util para hacer experimentos y pruebas rápidas. En otras palabras es una especie de borrador para escribir código en Python. No está de más decir que el código que escribas aqui se eliminará cuando cierres el interactive shell
Otro truco, una vez en la interactive shell, escibe
importthis
Dale enter y verás los lineamientos a tener en cuenta para escribir código de buena calidad. También es conocido como el Zen de Python (Python Zen)
Pongan en su terminal
("Na"*8+" ")*2+"Batman Batman"
Un resumen de la clase, mas unos operadores adicionales:
print(22//4) #division mostrando numero enteroprint(10%4) #modulo, residuo de la division
print(10**4) #numero elevado a la potencia
print(type(5)) #muestra el tipo de valor, en este caso entero
print(type(5.5)) #muestra el tipo de valor, en este caso decimal
print(type("a")) #muestra el tipo de valor, en este caso string
print("a"+"b") #se puede hacer una concatenacion con dos strings
print("a"*3) #se asigna que se repita el string
print(5==3) #se comprueba si dos valores son iguales o no.Botatrue or falseprint(5!=3) #se comprueba si dos valores son iguales o no.Botatrue or falseprint(8>5>3) #se compara si son mayor o menor.Botatrue or false```
Que buen aporte
"!=" es para corrobar si dos valores son diferentes
Operadores de Asignación
Los operadores de asignación se utilizan para básicamente asignar un valor a una variable, así como cuando utilizamos el “=”.
Algunos ejemplos:
= , igual a, es el mas simple de todos y asigna a la variable del lado izquierdo cualquier variable o resultado del lado derecho.
+= , suma a la variable del lado izquierdo el valor del lado derecho.
ej. si “a” es igual a 5 y a+=10, entonces “a” sera igual a 15
= , resta a la variable del lado izquierdo el valor del lado derecho.
ej. si “a” es igual a 5 y a-=10, entonces “a” sera igual a -5
=, multiplica a la variable del lado izquierdo el valor del lado derecho.
ej. si “a” es igual a 5 y a=10, entonces “a” sera igual a 50
Buen aporte
Buen aporte.
Operadores aritméticos
Paréntesis
( )
Potencia
**
Multiplicación
*
División
/
División entera
//
Módulo
%
Suma
+
Resta
-
Operadores de comparación
mayor que
>
menor que
<
mayor o igual que
>=
menor o igual que
<=
diferente de
!=
igual que
==
Operadores lógicos
Operador And
and
Operador Or
or
Operador Not
not
Operadores a nivel bit
Desplazamiento de bits a la derecha
>>
Desplazamiento de bits a la izquierda
<<
Operador lógico "and" a nivel de bits
&
Operador lógico "or" a nivel de bits
|
Operador lógico "xor" a nivel de bits
^
Operador lógico "not" a nivel de bits
~
Operadores de asignación
Suma en Asignación.
+=
Resta en Asignación.
-=
Multiplicación en Asignación
*=
División en Asignación
/=
Potencia en Asignación
**
Módulo en Asignación
%=
Buen resumen
+Addition x + y
-Subtraction x - y
*Multiplication x * y
/Division x / y
%Modulus x % y
**Exponentiation x ** y
// Floor division x // y-------= x =5 x =5+= x +=3 x = x +3-= x -=3 x = x -3*= x *=3 x = x *3/= x /=3 x = x /3%= x %=3 x = x %3//= x //= 3 x = x // 3 **= x **=3 x = x **3&= x &=3 x = x &3|= x |=3 x = x |3^= x ^=3 x = x ^3>>= x >>=3 x = x >>3<<= x <<=3 x = x <<3---------==Equal x == y
!=Not equal x != y
>Greater than x > y
<Less than x < y
>=Greater than or equal to x >= y
<=Less than or equal to x <= y
---------and ReturnsTrueif both statements are true x <5 and x <10or ReturnsTrueif one of the statements is true x <5 or x <4not Reverse the result, returns Falseif the result is truenot(x <5 and x <10)--------is Returnstrueif both variables are the same object x is y
is not Returnstrueif both variables are not the same object x is not y
--------inReturnsTrueif a sequence with the specified value is present in the object x in y
not inReturnsTrueif a sequence with the specified value is not present in the object x not in y
-----&ANDSets each bit to 1if both bits are 1|ORSets each bit to 1if one of two bits is 1^XORSets each bit to 1if only one of two bits is 1~NOTInverts all the bits
<<Zero fill left shift Shift left by pushing zeros infrom the right and let the leftmost bits fall off
>>Signed right shift Shift right by pushing copies of the leftmost bit infrom the left, and let the rightmost bits fall off
Operadores de asignación:
Asignan un valor a una variable a es la variable
= , asigna a la variable a el valor del lado derecho
+= , suma a la variable a el valor del lado derecho
-= , resta a la variable a el valor del lado derecho
*= , multiplica a la variable a por el valor del lado derecho
/= , divide a la variable a por el valor del lado derecho
**= , eleva la variable a la potencia del valor del lado derecho
Gracias, buen aporte
Estos son operadores Binarios:
& AND
| OR
^ XOR
~ NOT
<< Desplazamiento a la izquierda
Desplazamiento a la derecha
Los relacionales:
< Menor que
Mayor que
<= Menor o igual que
= Mayor o igual que
== Igual a
!= Distinto de
Y logicos:
and Y
or O
not NO
Gracias por el aporte
me pregunto que sera de la vida de los estudiantes de este curso lanzado hace 5 años y que sera de mi que apenas estoy empezando?
Comparan dos expresiones y devuelven un bool, es decir, verdadero o falso
a = True b = False
and , es Verdadero si ambos operadores son verdaderos
or , es Verdadero si uno de los dos operadores es verdadero
not , es Verdadero si el operado es Falso
Excelente Analisis para tener en cuenta
Hola, les comparto una infografía con los operadores que hay y más información. Le pueden dar click secundario para abrirlo más grande.
.
Excelente resumen!!
Hay algo que no se ha mencionado hasta ahora y que descubrí en C y es que los caracteres, a pesar de ser texto tienen un valor numérico equivalente a su posición con el ASCII. Es decir, podemos comparar por ejemplo:
’@’ < ‘A’
‘A’ < ‘a’
‘0’ < ‘<’
¡En el lenguaje C podemos incluso sumar caracteres!
(y ya comprobé que también se pueden sumar valores enteros a los caracteres)
ejemplo:
‘a’ + 1
’b’
‘a’ + 2
’c’
Así es, mucho de los lenguajes de programación estan basados en C por tanto, funcionan de manera similar, creeme que esto que acabas de publicar es un detalle muy fino de programación :D
Operadores de comparación:
Comparan dos expresiones y devuelven un bool, es decir, verdadero o falso a = 3 b = 4
== , a es igual b?
!= , a es distinto que b?
> , a es mayor que b?
< , a es menor que b?
>= , a es mayor o igual que b?
<= , a es menor o igual que b?
muy bueno!
>>>'mi vieja mula '+('ya no es la que era, '*2)+'ya no es lo que era.'>>>'mi vieja mula ya no es lo que era, ya no es lo que era, ya no es lo que era.'