float
Es importante considerar que en el caso de los flotantes puede tener problemas con la forma en que lo datos se representan internamente, pudiendo obtener resultados que pueden parecer extraños
Por ejemplo:
Verifiquemos por consola.
True
(Verdadero) o False
(Falso).string
'
o dobles "
, pero se debe respetar la que se utilice. Por ejemplo:
"hola mundo"
'hola mundo'
"hola 'mundo'"
'hola "mundo"'
En unidades futuras se verán con mayor detalle
En el contexto de evaluación de expresiones encontramos los diferentes elementos:
El significado de los operadores, se ve determinado por el tipo de datos involucrados en la operación, además, el tipo de dato resultante puede variar respecto a los operandos.
El tipo de dato del resultado, depende de los tipos de datos involucrados
Operador | Simbolo | Tipo | Ejemplo |
---|---|---|---|
Suma | + |
Binario | .5 + 1 |
Resta | - |
Binario | 1 - 2 |
Multiplicacion | * |
Binario | 10 * 0 |
División | / |
Binario | 10 / 3 |
División entera | // |
Binario | 10 // 3 |
Modulo | % |
Binario | 10 % 3 |
Potencia | ** |
Binario | 10**3 |
Negativo | - |
Uniario | -.4 |
Positivo | + |
Uniario | +10e2 |
bool
Operador | Simbolo | Tipo | Ejemplo |
---|---|---|---|
Igual a | == |
Binario | 1 == 1 |
Distinto a | != |
Binario | 1 != 0 |
Mayor que | > |
Binario | 1 > 0 |
Mayor o igual que | >= |
Binario | 1 >= 1 |
Menor que | < |
Binario | 1 < 2 |
Menor o igual que | <= |
Binario | 1 <= 1 |
bool
Operador | Simbolo | Tipo | Ejemplo |
---|---|---|---|
AND | and |
Binario | True and True |
OR | or |
Binario | False or True |
NOT | not |
Uniario | not False |
p | q | not q | p and q | p or q |
---|---|---|---|---|
- | False |
True |
True |
True |
- | True |
False |
False |
True |
False |
False |
- | False |
False |
False |
True |
- | False |
True |
True |
False |
- | False |
True |
True |
True |
- | True |
True |
str
Operador | Simbolo | Tipo | Ejemplo |
---|---|---|---|
Concatenar | + |
Binario | 'hola' + ' ' + "mundo" |
Repetir | * |
Binario | 'hola '*2 |
Existen otras operaciones, pero se verán más adelante
Observación 1: Aquellas operaciones que se aprecian en el mismo nivel, se evalúan según el orden en que aparece.
Observación 2: En el caso de las potencias, la evaluación se hace de derecha a izquierda.
De menor a mayor precedencia la evaluación es la siguiente |
---|
or |
and |
not |
< ,<= , > , >= ,!= , == |
+ , - (aritméticos binarios) |
* , / , % |
+ , - (aritméticos unarios) |
** |
Es cuando asociamos un nombre al resultado en la evaluación de una expresión. También se le conoce como asignación.
El nombre de la expresión, se le conoce como variable (asignamos un valor a la variable). Tiene reglas (sintaxis) definidas que se deben respetar:
variable = expresión
_
también.Hay formas de asignación especiales, cuando se esta modificando la misma variable en base a alguna de las siguientes operaciones:
Operador | Simbolo |
---|---|
a = a + 1 |
a += 1 |
a = a - 1 |
a -= 1 |
a = a * 1 |
a *= 1 |
a = a // 1 |
a //= 1 |
a = a / 1 |
a /= 1 |
a = a % 1 |
a %= 1 |
a = a ** 1 |
a **= 1 |
Como se ha indicado en puntos previos, el uso de la función type()
permite conocer el tipo de dato que tiene un valor literal, pero también se puede conocer el de una variable.
Además, dado que las operaciones o los operandos pueden modificar el tipo de dato puede hacerse necesario realizar cambios en este aspecto.
Cuando a consecuencia de una la operación (por ejemplo, división), ocurre un cambio del tipo de dato no realizado de forma explícita por quien codifico, estamos en presencia de un caso de coerción.
Otro caso de coerción, es cuando los operandos involucrados son de distinto tipo.
Por el contrario, cuando el tipo de dato es modificado de forma explícita se conoce como conversión.
Notar que la conversión es la forma explícita (usamos los tipos de datos como una función) para modificar el tipo de dato, lo que en algunos casos, pueda alterar el valor.
Observación: no siempre se puede convertir un tipo de dato en otro.
Respresentan operaciones conocidas por el entorno, y no debe explicitarse las expresiones que la conforman.
Siguen los siguientes puntos:
abs(1-2) #retorna en valor absoluto.
min(1,2,-1) #retorna el mínimo valor.
max(1,2,-10) #retorna el valor máximo.
pow(x,y)
(round(x,y)
(aproxima el número import math
math.sqrt(x)
(math.exp(x)
(import random
math.randint(y)
(genera un número entero de forma aleatoria entre import math
math.sqrt(x)
(math.exp(x)
(print
print("hola mundo")
print(1)
input
x = input("Ingrese un valor: ")
Explorar con type
el tipo de dato
¿Cómo podríamos sumar dos número ingresados desde la consola?
