Bienvenidos/as al tema 3 de Python, antes de seguir hay que decir que soy autodidacta y voy a prendiendo por mi cuenta, si alguien tiene dudas de lo que vaya poniendo con mucho gusto les ayudaré en los comentarios y si cometo errores se agradece que también se diga, dicho esto, empecemos
- Operadores aritméticos básicos
- Operadores de comparación
- Operadores relacionales
- Operadores de identidad
- Conversión de tipo de dato
- Concatenar (unir)
- Operadores de membresía
- Operadores lógicos
- Operadores bit a bit (puertas lógicas)
- Procedencia de operadores (De mayor a menor rango)
- Orden de evaluación
Operadores aritméticos básicos
suma/resta/multiplicación/división/módulo/potencia
Suma = +
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_1-1.png?w=365)
Resta = –
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_2-1.png?w=402)
Multiplicación = *
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_3-1.png?w=578)
División con float = /
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_4.png?w=482)
División con int = // con número entero
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_5.png?w=478)
Módulo = %
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_6.png?w=457)
Potencia = **
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_7.png?w=487)
Operaciones de comparación
Igualdad (==): Comprueba si dos valores son iguales
Ejemplo 1 = ejemplo de True
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_10.png?w=497)
Ejemplo 2 = ejemplo de False
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_11.png?w=496)
Desigualdad (!=) = comprueba si dos valores son diferentes
Ejemplo 1 con true
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_12.png?w=531)
Ejemplo 2 con false
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_13.png?w=526)
Mayor que (>), Menor que (<): Comprueban si un valor es mayor o menor que el otro
Ejemplo 1 con resultado true
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_14.png?w=606)
Ejemplo 2
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_15.png?w=596)
Operadores Relacionales
Los operadores relacionales se utilizan para comparar y consultar la relación entre ellos. devuelve un valor lógico (bool = verdadero o falso) según la condición
(Los operadores relacionales se utilizan para comparar dos valores entre si)
(operador = es el símbolo a la hora de hacer el calculo, es decir si estamos sumando 2 +3 se pone el «+«)
(operando = son los valores con los que operas, es decir, si estamos sumando 2 + 3 serían «2» y «3«)
> (mayor que) = devuelve verdadero (true) si el operador de la izquierda es mayor que el operador de la derecha
Ejemplo
(El número 14 es mayor que el número 4)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_27-1.png?w=401)
< (menor que) = devuelve verdadero (true) si el operando de la derecha es mayor que el operador de la izquierda
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_28-1.png?w=467)
>= (mayor o igual que) = devuelve verdadero (true) si el operando de la izquierda es mayor o igual que el operando de la derecha
Ejemplo 1 de true
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_29-1.png?w=495)
Ejemplo 2 de false
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_30-1.png?w=500)
<= (menor o igual que) Devuelve verdadero (True) si el operando de la derecha es mayor o igual que el operando de la izquierda
Ejemplo 1 de True (verdadero)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_31-1.png?w=494)
Ejemplo 2 de false (falso)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_32-1.png?w=488)
OPERADORES DE IDENTIDAD
El «is» y el «is not» se utilizan para comparar identidad de objetos, es decir, para verificar si dos variables se refieren al mismo objeto en memoria. Esto es diferente de «==» y «!=» que se utilizan para comparar el contenido de los objetos
(Si a alguien le da otro valor es porque depende del entorno de desarrollo para las tuplas)
(Python está reutilizando el mismo objeto en la memoria para ambas tuplas, en lugar de crear dos objetos separados, entonces puede que alguien que lo pruebe le de otro valor para las tuplas)
Antes de seguir hay que decir que en las «tuplas ( )» al ser inmutables, si son idénticas y es probable que de «True» ya que se refieren al mismo objeto en la memoria
( Si tienes datos inmutables, como números, cadenas de texto o tuplas (por ejemplo «3 is 4», «(1, 2, 3) is (1, 2, 3)», etc), entonces si el valor de la izquierda es igual al de la derecha y te dará true)
En cambio en las «listas [ ]» son mutables con los mismos elementos y python no garantiza la misma ubicación de memoria ya que cada lista puede cambiar con el paso del tiempo, por eso suele dar False
is = Devuelve True si hacen referencia a «el mismo objeto«
Ejemplo 1 (con true)
En este ejemplo hay que comparar el mismo objeto, es decir, «a = 5» es el mismo objeto que «b = 5«
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_65.png?w=326)
Se puede comprobar en esta parte de abajo (al poner «id (a)«) que nos pone «True» y abajo pone que está el mismo número, eso quiere decir que tiene el mismo objeto al tener dicha id igual
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_66.png?w=180)
Ejemplo 2 con false con listas [ ]
Para este ejemplo da False, ¿porque? imaginemos que «x» es una casa e «y» es otra casa, entonces digamos que las 2 casas no tienen el mismo objeto porque cada casa es diferente, por eso da False (se está destinando la información nueva de manera individual)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_67.png?w=385)
En tal caso si alguien tiene dudas, hay que fijarse en la id de los objetos para saber lo del mismo objeto
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_68.png?w=155)
Ejemplo 3 con True
Para este caso la variable «a» tiene un str «hola» y la variable «b» igual, para este caso tienen el mismo objeto en la memoria, por eso da True
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_69.png?w=264)
Ejemplo 4 True con tuplas ()
Para este ejemplo, en las tuplas al ser inmutables, si da «True» porque son idénticos, es decir, python está reutilizando el mismo objeto en ambas tuplas
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_70.png?w=375)
Ejemplo 5 con false (str)
En este ejemplo en los 2 es un «str» (cadena de caracteres) pero no están en el mismo objeto en la memoria, por lo tanto es False
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_71.png?w=347)
is not = Devuelve False si no hacen referencia a «el mismo objeto»
Ejemplo 1 con listas [ ] con True y False
En este ejercicio (print1) como las listas son mutables da en el primer print False, digamos que hay 2 casas, cada casa tiene lo mismo que la anterior, en este caso la «casa1» tiene diferente mismo objeto en la memoria que la «casa2» pero como estamos poniendo el «is not» se pone el contrario , es decir, con «is «sería «False», entonces ahora se pone «True«
(print2) En esta parte estamos diciendo que la «casa1» y que la «casa3» estén en la misma casa, por eso están compartiendo el mismo objeto en la memoria, si fuera solo «is» sería true, pero como es «is not» se pone «False«
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_72-1.png?w=432)
Ejemplo 2 con «str» false
Para este ejemplo en la «cadena1» estamos poniendo el «str» y en la «cadena2« estamos poniendo el mismo «str» con espacios, lo que significa que si fuera un «is» sería True (por que están en el mismo objeto en la memoria), pero como le estamos poniendo el «is not» sería el contrario, entonces es «False» (al poner el contrario se cambia de True a False)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_73.png?w=411)
Ejemplo 3 con «str» True
En este ejemplo el «str1» pone hola y en el «str2» pone adiós, no están en el mismo objeto en la memoria, por lo tanto si fuera un «is» sería «false» pero como se le cambia , por eso se le pone «True«
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_74.png?w=330)
Ejemplo 4 con str false
En este ejemplo en la variable1 tiene puesto un «str» y en la variable20 hemos puesto que sea igual a la variable 1, entonces tienen el mismo objeto en la memoria, pero como le estamos poniendo «is not» entonces se pone el contrario , es decir, «False«
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_75.png?w=464)
Ejemplo 5 con True con listas [ ]
Primer paso: primero hay que resolver el «x is not y«, entonces sería «False«
(Si fuera «is» sería «True)
Segundo paso: hay que resolver el «x is z«, entonces sería True
(Si fuera «is» sería true)
Tercer paso: hay que poner el «and», es decir, sería «False and True«
Al resolver un «and» uno de los 2 tiene que dar «true», en este caso, uno de los 2 da verdadero y por eso da True al final
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_76.png?w=495)
Conversión de tipo de dato
(Son clases que en este caso se usan como funciones para convertir el tipo de dato)
Convertir str
En este apartado vamos a convertir el «str» (cadena de caracteres) a otros tipos de datos
str en int
(Se trata de un número dentro de una cadena de caracteres, (si tiene letras da error))
Ejemplo 1
(Aquí estamos creando el str)
(Primero se pone el str)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_33-2.png?w=468)
(Estamos convirtiendo el «str» en un «int» con la clase «int» (la que está en rojo)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_34-1.png?w=468)
str en bool
Ejemplo 1
(En este caso estamos creando una variable que se llama «30»)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_36-1.png?w=394)
(Continuación: en este caso estamos convirtiendo el «str» a «bool» , nos da False porque no hemos puesto nada en las comillas)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_37-1.png?w=587)
Ejemplo 2 con verdadero (True)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_39-1.png?w=518)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_40-2.png?w=467)
Ejemplo 3
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_62.png?w=437)
str en float
Ejemplo 1 con errores
(la secuencia de caracteres no está permitida)
(En este caso, si añadimos un texto da error, pero si ponemos un numero en str si lo puede convertir en true o false)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_41-1.png?w=443)
Ejemplo 2 con float
(Con 1 variable)
(Primero se crea el str)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_42-1.png?w=372)
(Segundo se crea el float para que se convierta el str en el float)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_43.png?w=388)
Ejemplo 3 de float
(Primero estamos creando el str)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_45-1.png?w=621)
(En la variable_2 le estamos diciendo que cambie la variable_1 a float)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_46-1.png?w=653)
Ejemplo 4
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_61.png?w=468)
Convertir int
En este apartado vamos a convertir el «int» (número entero) a otros tipos de datos
int en bool
Primer paso: primero creamos el int
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_44-1.png?w=348)
Segundo paso: se convierte el int en bool
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_47-1.png?w=467)
int en float
Primer paso
(Primero creamos un int)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_48-1.png?w=398)
Segundo paso
(Ahora hay que convertir el int en float y para ello hay que elegir la función «float«
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_49-1.png?w=550)
int en str
Ejemplo 1
Primero creamos el int
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_50-1.png?w=378)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_51-1.png?w=438)
Ejemplo 2
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_35-1.png?w=929)
convertir float
En este apartado vamos a convertir el «float» (número flotante, ejemplo: 3.14) a otros tipos de datos
float en int
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_52.png?w=391)
Hemos convertido el float en un int
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_53.png?w=477)
float en str
Ejemplo
Hemos creado un float
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_55-1.png?w=426)
float en bool
En el primero hemos creado un float y abajo lo hemos convertido en un bool
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_56-1.png?w=384)
convertir bool
En este apartado vamos a convertir el «bool» (verdadero o falso) a otros tipos de datos
bool en str
Ejemplo 1
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_57.png?w=521)
Primero hemos creado una variable que se llama»booleano» y tiene el valor «True», después hemos creado otra variable que se llama «cadena», lo hemos convertido en un «int» y después ese «int» lo hemos convertido en un «str»
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_58.png?w=313)
Ejemplo 2
Hemos creado una variable booleano que se llama «true»
Después en la variable «cadena» hemos convertido «booleano» en un «int» y después en un «str» (ahora booleano es un str)
En la variable «tipo» hemos puesto «type» lo hemos puesto para ver que tipo es el «bool» y nos dirá que es «1», es decir, true
En «print» hemos puesto:
cadena = es para saber si es verdad o mentira , es decir, true «1» o false «0»
tipo = esto es para saber que tipo es, es decir, es de tipo «str«
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_59.png?w=305)
Ejemplo 3
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_60.png?w=421)
bool en int
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_63.png?w=498)
bool en float
Ejemplo 1
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_64.png?w=548)
Concatenar (unir)
(Añadir sumas usando operadores)
(Al concatenar los valores diferentes deben convertirse al mismo tipo con el signo «+«)
(Al sumar 2 tipos de datos da como resultado un «str»)
Ejemplo de Str
Información
(Para concatenar con «str» hay que convertir los tipos en str)
Ejemplo:
str + str =solución str
str + bool = solución str
str + float = solución str
str + int = solución str
En este ejemplo he unido palabra_1 con palabra_2 para que salga todo junto
Ejemplo 1
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_21-1.png?w=553)
Ejemplo 2
Para dejar espacios simplemente hay que poner » « y tantos espacios como necesitemos
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_22-1.png?w=600)
Ejemplo 3
Al sumar 2 «str» se puede sumar con f-strings, para ello hay que crear 2 variables con 2 «str» después ponemos print, la «f»de f-string y ponemos lo que necesitemos, en este caso he sumado 2 str, donde están las llaves {lenguaje} y {escuela}, así se suman con f-string
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_77.png?w=651)
str + int
Ejemplo 1 de str + int
En este ejemplo he convertido un «str» + un «int», he creado 2 variables, una con un str (str1) y otra con un int (numero), después he puesto en la solución que ambas variables se sumen y que a la variable que tiene el «int» lo convierta en str
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_78.png?w=551)
Ejemplo 1 igual pero con «f-string«
El «f-string» es «Formateo literal de cadenas» (también llamados f-strings para abreviar)
He creado 2 variables (str3 y float1), en la segunda variable, la he convertido en un str, es decir, he cambiado el bool en str
Después he puesto el print para que salga en pantalla y he añadido el f-string para simplificarlo, es decir, en el principio he puesto un str con las variables para que salgan en pantalla y en las últimas variables juntas con las llaves las he jugando para que se vea mejor el resultado
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_80.png?w=881)
str + float
Ejemplo 1 de str + float
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_81-1.png?w=492)
Ejemplo 2 de str + float con f-string
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_117.png?w=741)
str + bool
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_82.png?w=473)
Ejemplo de int
int + int
Ejemplo 1 de int + int
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_83.png?w=521)
Ejemplo 2 de int + int con f-string
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_84.png?w=606)
Ejemplo 3 int + int con f-string abreviando
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_85.png?w=609)
int + str
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_86.png?w=734)
int + float
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_87.png?w=498)
int + bool
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_88.png?w=679)
Ejemplo de float
float + float
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_91.png?w=643)
float + str
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_92.png?w=635)
float + bool
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_93.png?w=630)
float + int
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_94.png?w=635)
Ejemplo de bool
bool + bool
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_89.png?w=624)
bool + int
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_95.png?w=629)
bool + float
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_96.png?w=631)
bool + str
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_90.png?w=642)
Operadores de membresía
En el operador de membresía existen 2 operadores, el «in» y el «not in«
El «in» da true si el elemento esta contenido, es decir, comprueba si un valor está o no dentro de una secuencia, como una tupla o una lista, etc.
El not in da false si el elemento no está contenido
Ejemplo 1:
En este ejemplo, en «Ejemplo 1» se pone una variable, a continuación con el print le estamos preguntando si el número 44 está en la variable «números», entonces nos dará un «True«
Para el «ejemplo 2» en la variable «letras» hay unas cadenas (str) en dichas cadenas hay unas palabras, digamos que esas palabras son las que el «in» tiene que buscar ahora, con el print le estamos preguntando que si el «str» «c» está en la variable «letras» y como se puede comprobar en la imagen no está, entonces da «false»
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_97-1.png?w=606)
Ejemplo 2:
El «not in« hace lo contrario, es decir, si no está en la secuencia te devuelve «True»
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_98-1.png?w=503)
Operadores Lógicos:
Estos operadores realizan operaciones lógicas entre expresiones booleanas.
AND, OR, NOT: Operadores lógicos para combinar o negar expresiones booleanas.
(TRUE O FALSE)
Resumen rápido:
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_23.png?w=746)
And = Devuelve true si ambos elementos son true (verdaderos)
Se refiere al «and» cuando se habla de puerta lógica (Operadores bit a bit «y» entre dos valores), comparación (para la operación bit a bit «Y» y bool (aunque bool no es tan efectiva) o evaluación de condiciones
Tabla de la verdad
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_16.png?w=793)
Tienen que dar los 2 correctos
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_17.png?w=796)
Ejemplo 1 de true y false
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_111.png?w=449)
OR = Devuelve true si al menos un elemento es true
Explicación true, true, true y false
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_18.png?w=737)
Ejemplo
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_112.png?w=438)
NOT = Devuelve el contrario , si pongo true , lo pasa a false y si pongo false lo pasa a true
Explicación
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_19.png?w=772)
ejemplo 1
En este ejemplo el primer «not» sería verdadero, entonces el siguiente es falso, es decir:
not = falso
not = verdadero
not = falso
not = verdadero
not = falso
por eso da falso, porque el último «not» da falso
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_20.png?w=770)
AND y OR: mezclados
Ejemplo 1
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_24.png?w=946)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_25.png?w=943)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_26.png?w=947)
Ejemplo 1 visto de otra forma
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_38-3.png?w=595)
Operadores bit a bit (puertas lógicas)
& (bit and)
El «y» y «&» son dos nombres para el mismo signo lógico
Se habla del & (bit and) cuando se habla de operaciones a nivel de bits o de manipulación de datos binarios
El operador & (dicho de manera fácil), permite combinar ambas cajas en una caja
Ejemplo simple:
Caja 1 = tiene bloques verdes, azules y rojos
Caja 2 = tiene bloques rojos, verdes y amarillos
Cómo los bloques rojos y verdes están en ambas cajas, entonces los ponemos en la caja 3 y los que no están repetidos en ambas cajas también los ponemos
caja 3 = bloques rojos, verdes, azules amarillos
Tabla de verdad del & (bit and) (esto es para saber el resultado al multiplicar los binarios)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_102.png?w=362)
En resumen, el operador «&» te permite:
- Combinar dos valores enteros (como si fueran dos cajas de galletas).
- Comparar cada bit (como si compararas los dibujos de las caras A de las galletas).
- Si los bits son iguales, se coloca un 1 en el bit correspondiente de la nueva caja.
- Si los bits son diferentes, se coloca un 0 en el bit correspondiente de la nueva
Ejemplo 1 de & (bit and)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_100.png?w=474)
Ejemplo 2 de & (bit and)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_101.png?w=438)
Ejemplo 3 de & (bit and)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_107.png?w=687)
Curiosidad, esto es para saber cual es el decimal de un código binario
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_108.png?w=558)
OR ( | )
(Si alguno de los bits es 1 entonces da 1 como resultado)
Tabla de verdad
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_103.png?w=360)
Ejemplo 1
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_105.png?w=648)
^ xor
El ^ (xor) , sirve para comparar si son diferentes los valores (true o false)
si son iguales da 0 y si son diferentes 1
Tabla de la verdad del & (xor)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_109.png?w=363)
Ejemplo 1
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_106.png?w=672)
not ~
El not sirve para cambiar un valor bool, es decir:
Si el resultado da true lo convierte a False
Si el resultado da False lo convierte en True
Ejemplo 1
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_113.png?w=437)
Desplazamiento a nivel de bits
<< (izquierda >>(derecha) (desplazamiento a nivel de bits
Procedencia de operadores
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_114.png?w=732)
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_115.png?w=732)
Orden de evaluación
Las expresiones se evalúan de izquierda a derecha
Los paréntesis se utilizan para forzar un orden de evaluación específico
Los operadores tienen una procedencia que define su orden de evaluación
![](https://elrincondemuchascosas.wordpress.com/wp-content/uploads/2024/02/screenshot_116.png?w=464)
Muchas gracias por entrar, si tienes dudas, no dudes en preguntar en los comentarios de lo que voy poniendo en la programación de python y también suelo estar en twitch con el nombre «chebg«, si tienes dudas también te puedo ayudar en twitch
Si te ha ayudado compártelo y coméntalo