Contenido
Operaciones con tipos de datos básicos¶
La asignación =
es fundamental. Se puede pensar como guardar información en una variable.
x = 3.4
x = x + 1 # asignammos a la variable x el valor anterior más 1, se opera de derecha a izquierda.
print(x)
4.4
Al nombre de las variables se les denomina identificadores. Estos siguen algunas reglas para que sean válidos. La reglas son relativamente flexibles, una simplificación muy burda es:
No comenzar con número o caracteres especiales (?, =, !, -, &, etc.)
No tener caracteres especiales despues del inicio, los numeros despues del inicio están permitidos
El guion bajo está permitido en cualquier posición
Se distingue entre mayúsculas y minúsculas, estas pueden utilizarse en cualquier posición del identificador
Para precisar las reglas de construcción de los identificadores se puede consultar el sigueinte enlace
1casa = 1
&casa = 2
_ = 3
beto = 34
Beto = 56
File "<ipython-input-2-44731d701242>", line 1
1casa = 1
^
SyntaxError: invalid syntax
Podría coincidir que el identificador que se elige, es una palabra clave de Python (Keywords), estas no pueden utilizarse como identificadores. En ese caso debe de elegirse otro identificador
Palabras clave
False - await - else - import - pass - None - break - except - in - raise
True - class - finally - is - return - and - continue - for - lambda - try
as - def - from - nonlocal while - assert - del - global - not - with
async - elif - if - or - yield
import = 6
File "<ipython-input-21-f3aad9a9458b>", line 1
import = 6
^
SyntaxError: invalid syntax
Tipos numéricos¶
Operación |
Resultado |
---|---|
|
suma x con y |
|
diferencia x con y |
|
producto x con y |
|
cociente x con y |
|
cociente (parte entera) x con y |
|
residuo de |
|
x negativa |
|
x |
|
valor absoluto o magnitud de x |
|
x conversión a entero |
|
x conversión a flotante |
|
numero complejo con parte real re, parte imaginaria im. im default es cero. |
|
x elevado a y |
z = complex(2, 4)
w = complex(-1, 4)
x = z + w
print(x)
print(type(x))
(1+8j)
<class 'complex'>
Las siguientes operaciones se denominan comparaciones, los resultados son True
o False
Operacion |
Significado |
---|---|
|
estrictamente menor que |
|
menor o igual que |
|
estrictamente mayor que |
|
mayor o igual que |
|
igual que |
|
diferente que |
|
igualdad a nivel de identidad (Son el mismo objeto) |
|
desigualdad a nivel de identidad (no son el mismo objeto) |
a = 4
b = 9
c = 9
d = 9.0
print(a == b)
print(b == c)
print(a != b)
print(b is c)
print(c is d)
print(4 < b < d + 9)
False
True
True
True
False
True
Operaciones booleanas¶
Los elementos innvolucrados deben ser True
o False
, en ese caso, el resultado es True
o False
. Si se invilucran otrso enteros el resulatado puede no ser útil
Operación |
Resultado |
Nota |
---|---|---|
|
Si x es falso, el resultado es y, de otro modo es x |
El resultado es verdadero a menos que los dos sean falsos |
|
Si x es falso, el resutado x, de otro modo y |
El resultado solo es verdadero si ambos son verdaderos |
|
Si x es falso, el resultado es |
negación |
x = True
y = False
w = 3
z = 0
print(x or y)
print(x and y)
print(not x)
print(w or y)
print(w and x)
print(x and w)
print(z and x)
print(y and z)
print(x and not y or not w and w+8 <= 45 or not z-5 < 4)
True
False
False
3
True
3
0
False
True
Prioridad de operaciones¶
La última operación sigue un orden de evaluación. En general, se denomina prioridad de opeaciones a dicho orden. La siguiente tabla resume la prioridad de operador en Python, desde la prioridad más baja a la prioridad más alta. Operadores en la misma caja tienen la misma prioridad. Los operadores en la misma caja, de izquierda a derecha (excepto para exponenciación de derecha a izquierda).
Operador |
Descripción |
---|---|
= |
Expresión de asignación |
lambda |
Expresión lambda |
if – else |
Expresión condicional |
or |
Booleano OR |
and |
Booleano AND |
not x |
Booleano NOT |
in, not in, is, is not, <, <=, >, >=, !=, == |
Comparaciones, incluyendo comprobaciones de membresía y de identidad |
^ |
XOR bit a bit |
& |
AND bit a bit |
<<, >> |
Desplazamientos |
+, - |
Adición y sustracción |
*, @, /, //, % |
Multiplicación, multiplicación de matrices, división, división de redondeo, resto 5 |
+x, -x, ~x |
NOT positivo, negativo, bit a bit |
** |
Exponenciación |
await x |
Expresión await |
x[index], x[index:index], x(arguments…), x.attribute |
Subscripción, segmentación, invocación, referencia de atributo |
(expressions…), [expressions…], {key: value…}, {expressions…} |
Expresión de enlace o entre paréntesis, despliegues de lista, diccionario y conjunto |
Tip…
Utiliza paréntesis
x = 4 + 3 - 2 ** 2
print(x)
x = 4 + (3 - 2) ** 2
print(x)
3
5
Cadenas de caracteres¶
Las operaciones de la siguiente tabla están soportadas por la mayoría de los tipos secuencia.
La tabla lista las operaciones ordenadas de menor a mayor prioridad. En la tabla, s y t representan secuencias del mismo tipo, n, i, j y k son números enteros y x es un objeto arbitrario que cumple con cualquier restricción de tipo o valor impuesta por s.
Operadoración |
Resultado |
---|---|
x in s |
True si un elemento de s es igual a x, False en caso contrario |
x not in s |
False si un elemento de s es igual a x, True en caso contrario |
s + t |
la concatenación de s y t |
s * n o n * s |
equivale a concatenar s consigo mismo n veces |
s[i] |
El elemento i-esimo de s, empezando a contar en 0 |
s[i:j] |
la rebanada de s desde i hasta j-1 |
s[i:j:k] |
la rebanada de s desde i hasta j-1, con paso k |
len(s) |
longitud de s |
min(s) |
el elemento más pequeño de s |
max(s) |
el elemento más grande de s |
s.index(x[, i[, j]]) |
índice de la primera ocurrencia de x en s (en la posición i o superior, y antes de j) |
s.count(x) |
número total de ocurrencias de x en s |
s = 'comida china'
t = " no gracias"
n = 2
print('c' in s)
print('r' not in s)
print(s + t)
print(s*n) # primitiva de Python, en otros lenguajes podría no existor o tener otra salida
print(s[4])
print(s[1:5])
print(s[2:10:2])
print(len(s))
print(max(s))
print(min(s))
print(s.index('a'))
print(s.index('a',6))
#print(s.index('a',6,11)) # si no lo encuentra marca error
print(s.index('a',5,11))
print(s.count('a'))
True
True
comida china no gracias
comida chinacomida china
d
omid
md h
12
o
5
11
5
2