Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ingeniería en Computación
2021
4 espacios son un buen compromiso entre una sangría pequeña (permite mayor nivel de
sangrado)y una sangría grande (más fácil de leer). Los tabuladores introducen confusión
y es mejor dejarlos de lado.
• Recortar las líneas para que no superen los 79 caracteres.
Esto ayuda a los usuarios con pantallas pequeñas y hace posible tener varios archivos de
código abiertos, uno al lado del otro, en pantallas grandes.
• Usar líneas en blanco para separar funciones y clases, y bloques grandes de código
dentro de funciones.
• Cuando sea posible, poner comentarios en una sola línea.
r32/2021(MrTín) Página 1 de 16
Introducción a la
Ingeniería en Computación
2021
• Usar docstrings.
False (falso).
Operadores Significado
<, >, >=, <= Operadores relacionales
!= , == Desigualdad e igualdad
is Identidad “es”
is not Identidad, “no es”
r32/2021(MrTín) Página 2 de 16
Introducción a la
Ingeniería en Computación
2021
Operadores Significado
bool(expr) True si expr es verdadera, False en caso contrario
and, or, xor “Y”, “O”, “O exclusivo” lógico
not Negación lógica
La constante None, los ceros numéricos, las secuencias vacías y los diccionarios y conjuntos
vacíos se consideran falsos.
El resto de datos se consideran verdaderos.
Los operadores or y and solo evalúan expr2 en caso necesario.
Números
Enteros (int): 1234, −123456789.
Operador Significado
+, *, /, - Operadores binarios básicos
a // b División entera entre a y b
% Resto de la división de x por y
a**b a
b a elevado a la b
r32/2021(MrTín) Página 3 de 16
Introducción a la
Ingeniería en Computación
2021
Operador Significado
Constantes
math.pi 3.1415926535897931
math.e 2.7182818284590451
Funciones
cos, sin, tan, Trigonométricas
acos, asin, atan
math.ceil
El menor entero mayor o igual que x. El resultado se devuelve como
float
math.degrees(x) Conversión a grados y a radianes respectivamente.
math.radians(x)
math.exp(x) Equivalente a math.e**x
math.fabs(x) Valor absoluto de x como un número float
math.floor(x)
El mayor entero menor o igual que x. El resultado se devuelve como
float
math.log(n, base) Logaritmo de x en la base especificada (por defecto e)
math.log10(n) Logaritmo en base 10 de x
Tupla con la parte decimal y la parte entera (como número real) de x.
math.modf(x)
Ambos números conservan el signo de x
math.sqrt(x) La raíz cuadrada de x
Cadenas de caracteres
Secuencia inmutable de caracteres delimitadas por comillas simples ('Hola'), dobles
("Hola") o triples ( '''Hola'''’, """Hola""").
Python Significado
"hola" Formas de expresar una cadenas de caracteres
'hola' conteniendo hola.
"Esto 'mezcla' con" Cadena conteniendo Esto 'mezcla' con
r32/2021(MrTín) Página 4 de 16
Introducción a la
Ingeniería en Computación
2021
Python Significado
También Esto "mezcla" con
'Esto "mezcla" con'
Permite usar la otra comilla dentro de una cadena.
"""""" Cadena de caracteres de múltiples lineas
r32/2021(MrTín) Página 5 de 16
Introducción a la
Ingeniería en Computación
2021
Python Significado
encuentra
Igual que s.rfind (sub, ini , fin ), pero
s.rindex(sub, ini, fin)
provoca un error si la subcadena no se encuentra
La lista de todas (o max) palabras obtenidas de s
s.split(sep, max)
usando sep como cadena delimitadora
Igual que s.split(sep,max), pero desde el final
s.rsplit(sep, max)
de la cadena
Copia de s transformando mayúsculas en minúsculas
s.swapcase()
y viceversa
s.upper() Copia de s con todos los caracteres en mayúsculas
Modulo string
string.digits La cadena “0123456789”
Plantillas
Construye otras cadenas de texto reemplazando los {} por el contenido
s.format(x)
de los argumentos x.
Campo de substitución
>>> “texto {}”.format(3)
{} anónimo texto 3
Campo de substitución
>>> “texto {1}-{0}”.format(3,4)
{0} numerado texto 4-3
r32/2021(MrTín) Página 6 de 16
Introducción a la
Ingeniería en Computación
2021
Ejemplos
Listas
Secuencia mutable, ordenada de elementos delimitadas por corchetes y los elementos
separados por comas.
Python Significado
Lista vacía por defecto, pero puede copiar los valores de
list(secuencia) secuencia para armar una lista. (copia las referencias, no duplica
el contenido de la secuencia)
s[i] Accede al i-esimo elemento de s
[] Lista vacía
[1, 2, 3, 4] Lista con cuatro elementos, 1, 2, 3 y 4 iniciales
del s[i] Elimina el i-ésimo elemento de s
del s[i:j] Elimina los elementos entre i y j
del s[i:j:n] Elimina los elementos entre i y j de n
s.append(x) Agrega los elementos de x a la lista s
s.extend(x) Agrega x como elemento de s
s.count(x) Cuenta las veces que aparece el elemento x en s
s.index(x, ini, fin ) El menor i tal que ini <= i <fin y s[i] == x
r32/2021(MrTín) Página 7 de 16
Introducción a la
Ingeniería en Computación
2021
Python Significado
s.insert(i, x) Inserta el elemento x en la posicion i dentro de la lista s
s.remove(x) Remueve el elemento x de s
s.pop(i)
Remueve y retorna el elemento i-esimo. (Opcional, sino remueve y
retorna el ultimo elemento.
s.reverse() Inverte la lista s.
s.sort() Ordena la lista s.
Tuplas
Las tuplas son conjuntos inmutables y ordenados. Pueden ser creados convirtiendo otro
conjunto, tuple(una_secuencia) o de manera directa utilizando paréntesis (1, 2,
3). Importante, cuando la tupla es creada con un solo elemento, debe tener una coma al final
para diferenciarla de un paréntesis para el agrupamiento de instrucciones (1,).
Su funcionamiento es idéntico a una lista, pero aquí no es posible hacer cambios en la tupla
misma.
Python Significado
(1, ) Tupla con un solo elemento, 1
(1, 2, 3, 4) Tupla con cuatro elementos, 1, 2, 3 y 4
tuple(secuencia)
Tupla creada los valores de secuencia. (copia las referencias, no
duplica el contenido de la secuencia)
t[i] Accede al i-esimo elemento de t
Named_tuples
En el modulo collections, se encuentra la función fabrica namedtuple, que es ideal
para crear contenedores de datos simples es inmutables. Como para cargar datos desde un
archivo.
Luego de definir la namedtuple, la podemos utilizar como cualquier otra clase que ademas
es una tupla
r32/2021(MrTín) Página 8 de 16
Introducción a la
Ingeniería en Computación
2021
Diccionarios (dict)
Pares clave : valor separados por coma y delimitados por llaves:
Python Significado
dict() Diccionarios vacíos
{}
len(d) El número de claves en d
d[k] El elemento de d con clave k
d[k]=x Establece a x el valor del elemento de d con clave k
del d[k] Elimina el elemento de d con clave k
d.clear() Elimina todos los elementos de d
d.copy() Una copia de d
d.has_key(k) True si d contiene un elemento con clave k
k in d Equivalente a d.has_key(k)
d.items() La lista de los pares (clave, valor) de d
d.keys() La lista de las claves de d
r32/2021(MrTín) Página 9 de 16
Introducción a la
Ingeniería en Computación
2021
Python Significado
d.values() La lista de los valores de d
Conjuntos (sets)
Los conjuntos son colecciones no ordenadas de elementos no duplicados en donde los
elementos contenidos deben ser inmutables.
set(secuencia) crea un conjunto mutable con los elementos de la secuencia
especificada, descartando las repeticiones sin preservar el orden. o utilizando llaves, {1, 2,
3}
Python Significado
len(s) Cardinalidad del conjunto s
elt in s True si elt pertenece a s
elt not in s True si elt no pertenece a s
s1.issubset(s2) True si todo elemento de s1 pertenece a s2
s1.issuperset(s2) True si todo elemento de s2 pertenece a s1
s.add(elt) Añade elt al conjunto mutable s
s.remove(elt) Elimina elt del conjunto mutable s
s.clear () Elimina todos los elementos del conjunto mutable s
s1.intersection(s2) Nuevo conjunto con los elementos comunes a s1 y s2
s1 & s2 Lo mismo que s1.intersection (s2)
s1.union(s2) Nuevo conjunto conteniendo los elementos de s1 y de s2
s1 | s2 Lo mismo que s1.union(s2)
Nuevo conjunto con los elementos que pertenecen a s1, pero no
s1.difference (s2)
a s2
s1 − s2 Lo mismo que s1.difference (s2)
r32/2021(MrTín) Página 10 de 16
Introducción a la
Ingeniería en Computación
2021
Python Significado
s1.symmetric_difference Nuevo conjunto con los elementos que pertenecen a s1 o a s2,
(s2)
pero no a ambos
s1 ^ s2 Lo mismo que s1 .symmetric_difference(s2)
s.copy() Nuevo conjunto copia del conjunto s
s.update(sec) Añade los elementos de sec al conjunto s
Nota
Si i o j son negativos, entonces son relativos al final de la secuencia; es decir, se considera
len(s)+i o len(s)+j en su lugar.
Control de flujo
Condicional
if condicion1:
bloque
elif condicion2:
bloque2
else:
bloque3
Bucle while
Lazo que se ejecutará mientras condición sea True
while condición:
bloque
r32/2021(MrTín) Página 11 de 16
Introducción a la
Ingeniería en Computación
2021
Bucle for
Los bucles for permiten recorrer secuencia dejando de uno en uno en variable los
elementos para su uso.
La estructura for permite un bloque else opcional que se ejecutara solo cuando la secuencia
se encuentre vacía.
Es posible utilizar range para armar lazos acotados muy rápidamente.
Funciones
Definición
def nombre_funcion ( lista_de_parametros ):
"""Texto mostrado por help(nombre_funcion)"""
bloque
Para retornar valores desde la función y finalizar su ejecución. Es posible utilizar return sin
valores para forzar la salida de la función.
La lista de parámetros, es una sucesión de identificadores separados por comas.
Estos identificadores pueden tener valores por defecto de la forma nombre=valor, que al
momento de utilizar dicha función, no es obligatorio completar ese valor.
Al momento de llamar una función, es posible pasar argumentos llamando al nombre de uno o
varios argumentos.
Por ejemplo:
r32/2021(MrTín) Página 12 de 16
Introducción a la
Ingeniería en Computación
2021
2, 1, 0
>>> triplo(4,1,6)
4,1,6
>>> triplo(3,x=4,3)
3,4,3
>>> help(triplo)
Imprime los valores x, y y z de manera consecutiva.
Operador Significado
pass Declaración nula
del nombre Borra nombre de su referencia al espacio actual
raise TipoExcepcion Genera una excepción de tipo TipoExcepcion
raise TipoExcepcion Genera una excepción de tipo TipoExcepcion
from exc encadenada a exc (instancia de tipo Excepción)
print(valor) Muestra en pantalla el valor
Devuelve la lista de nombres definidos
dir()
dir(objeto) Devuelve la lista de nombres definidos dentro de objeto
r32/2021(MrTín) Página 13 de 16
Introducción a la
Ingeniería en Computación
2021
Operadores de asignación
Operador Significado
a = b Asigna b al identificador a
a += b Lo mismo que a = a+b
a -= b Lo mismo que a = a-b
a *= b Lo mismo que a = a*b
a /= b Lo mismo que a = a/b
a %= b Lo mismo que a = a%b
a **= b Lo mismo que a = a**b
a,b = range(2)
Es lo mismo que:
a = 0
b = 1
a, *b = range(5)
es lo mismo que
a = 0
b = [1,2,3,4]
De esta manera también es posible intercambiar el contenido de dos variables sin un auxiliar:
x, y = y, x
r32/2021(MrTín) Página 14 de 16
Introducción a la
Ingeniería en Computación
2021
Módulos
Los módulos son espacios de nombre que agrupan alguna funcionalidad, como una biblioteca o
funcionalidad especifica, math contiene funcionalidad dedicada a la matemática, por ejemplo
import modulo1
import modulo2
import modulo1 as m
from modulo2 import nombre3 as m
r32/2021(MrTín) Página 15 de 16
Introducción a la
Ingeniería en Computación
2021
Guía de string.format
Una de las varias formas de armar cadenas con variables dentro de Python
https://mkaz.tech/python-string-format.html
r32/2021(MrTín) Página 16 de 16