Está en la página 1de 69

Las herramientas de

Las herramientas de Python


Variables y constantes
Enteros, reales y complejos
Listas y tuplas
Los arrays de la librería numpy
Variables y constantes
Variables y constantes

Las variables son los nombres que se refiere a un objeto que reside en la memoria. El objeto
puede ser de alguno de los tipos existentes en Python.

Cada variable debe tener un nombre único llamado identificador. Podemos pensar en las
variables como contenedores que almacenan datos/valores que pueden ser cambiados
después a través de técnicas de programación.

A fin de crear un objeto o variable le asignaremos un valor usando el signo de igualdad. El tipo
de dicho objeto será el del valor asignado.

a=2
Tipos de objetos
Números enteros

Números reales

True o False

https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipos.html
Variables y constantes

A fin de conocer el tipo de un objeto (que condiciona, obviamente, las operaciones que
podemos hacer sobre él), podemos usar la función type:

type
Variables y constantes

Algunas reglas y convenciones de nombres para las variables y constantes:

• Los nombres deben estar compuestos por una combinación de letras en minúsculas (de a a la
z) o MAYÚSCULAS (de la A a la Z) o dígitos (del 0 al 9) o un guión bajo (_).

• No debe contener símbolos especiales como !, @, #, $, %, etc.


• El primer carácter no puede ser un número o dígito.
• Los nombres que comienzan con guión bajo (simple _ o doble __) se reservan para variables
con significado especial.
• No pueden usarse las palabras reservadas.
Variables y constantes
Las palabras reservadas and global
corresponden a órdenes as if
especiales que tiene su assert import
propio sentido en Python. async in
Algunas son funciones, await is
otras bucles, otras objetos
break lambda
de tipo booleano.
class Not
Las siguientes palabras no continue None
pueden usarse para definir def or
otros objetos: del pass
elif print
else raise
except return
exec True
False try
finally while
for with
from yield
Enteros, reales y complejos
Enteros, reales y complejos

Python distingue entre números enteros y reales (aunque con decimales). Al escribir un número
decimal, el separador entre la parte entera y la parte decimal es un punto. Si se escribe una
coma como separador entre la parte entera y la decimal, Python no lo entiende como
separador, sino como una pareja de números.
Enteros, reales y complejos

Python puede hacer cálculos con número complejos. La parte imaginaria se acompaña de la
letra "j“ y debe ir acompañada siempre de un número y pegada a él (sin espacios).
Enteros, reales y complejos

Las cuatro operaciones numéricas básicas son la suma (+), la resta (-), la multiplicación (*) y la
división (/). Las potencias se obtienen con **. Veremos más opciones a lo largo de la
presentación.

Respecto a la división, el cociente se calcula con el operador // y el resto, con el operador %.


Listas y tuplas
Listas y tuplas

Las listas y tuplas son distintos tipos de secuencias. Una secuencia es un tipo de objeto que
almacena datos y que permite el acceso a una parte determinada de su información
utilizando índices.

Las listas y tuplas permiten trabajar con colecciones de datos ya sean numéricos, de tipo
carácter, o una combinación de ambas.

El primer elemento de una lista o de una tupla ocupa la posición 0.

a = [“a”,2,3] b = (“a”,2,3)
Listas

Una lista es una estructura de datos que contiene una colección o secuencia de datos. Los
datos o elementos de una lista deben ir separados con una coma y todo el conjunto entre
corchetes. Se dice que una lista es una estructura mutable porque, además de permitir el
acceso a los elementos, pueden suprimirse o agregarse nuevos.
Índices en las listas
Operaciones con listas

append(): Agrega un elemento al final de la lista.


count(): Cuenta cuántas veces aparece un elemento en la lista.
extend(): Agrega un objeto “iterable” al final de la lista.
index(): Devuelve la primera posición en la que aparece un elemento en la lista.
insert(): Añade, a la posición especificada, un elemento.
pop(): Devuelve el último elemento de la lista y lo elimina.
remove(): Elimina la primera aparición de cierto elemento.
reverse(): Invierte el orden de una lista.
sort(): Ordena la lista.
Operaciones con listas
Operaciones con listas

Si sumamos dos
listas…

Si multiplicamos
una lista por un
natural…
Tuplas

Una tupla permite tener agrupados un conjunto inmutable de elementos, es decir, en una
tupla no es posible agregar ni eliminar elementos. Las tuplas se declaran separando los
elementos por comas y estos, opcionalmente, pueden ir entre paréntesis. Se recomienda el
uso de paréntesis para evitar ambigüedades del tipo: print(9, 8, 7) y print((9, 8, 7)).
Un ejemplo

Las tuplas son útiles


también para
asignaciones
múltiples.
Operaciones con tuplas

count(): Cuenta cuántas veces aparece un elemento en la lista.


index(): Devuelve la primera posición en la que aparece un elemento en la lista.
Operaciones con tuplas
Ni las listas ni las tuplas son
buenas herramientas para
realizar cálculos numéricos
mediante vectores (y matrices)…
Ni las listas ni las tuplas son
buenas herramientas para
realizar cálculos numéricos
mediante vectores (y matrices)…
Ni las listas ni las tuplas son
buenas herramientas para
realizar cálculos numéricos
mediante vectores (y matrices)…
Los arrays de la librería numpy
Los arrays de la librería numpy

a = [“a”,2,3] lista

b = (“a”,2,3) tupla
c = array(1,2,3) numpy.array
Los arrays de la librería numpy

El cálculo numérico se fundamenta sobre la idea de manipular información almacenada


en unas estructuras conocidas como vectores y matrices.

En Python la única forma de simular estas estructuras es usando listas y lo malo es que no
responden a las características matemáticas de las operaciones propias ni de vectores ni
de matrices.

Numpy viene a solucionar esa carencia ofreciéndonos un nuevo tipo de objeto


llamado array.

import numpy as np
Los arrays de la librería numpy

Vectores
Los arrays de la librería numpy

Los arrays son objetos similares a las listas (que se crean recogiendo sus elementos entre
corchetes), pero, a diferencia de estas, los arrays sí se manipulan de forma equivalente a los
vectores (y matrices).

arrays

Vectores
Los arrays de la librería numpy

Supongamos que queremos calcular sin 𝑥 para 0 ≤ 𝑥 ≤ 𝜋.

Dado que en el intervalo [0, 𝜋] hay infinitos valores, seleccionemos unos cuantos:

𝑥1 = 0, 𝑥2 = 0.1𝜋, x3 = 0.2𝜋, x4 = 0.3𝜋, … , 𝑥10 = 0.9𝜋, 𝑥11 = 𝜋

Más tarde, calcularemos 𝑦𝑖 = sin(𝑥𝑖 ) para 𝑖 = 1,2, … 11. Los arrays x e


y tienen 11
elementos
dispuestos en
una fila, es
decir, son de
tamaño 1x11.

Vectores
Los arrays de la librería numpy

¿Y si queremos introducir un vector que tiene, por ejemplo, 1000 elementos?


¿Tenemos que escribirlos uno por uno? NO, podemos usar, por ejemplo la función linspace,
que, dados los extremos inferior y superior de un intervalo y el número de valores, devuelve
un array de puntos equiespaciados del tamaño especificado.

linspace


Vectores
Los arrays de la librería numpy

De manera similar a linspace, existen funciones para crear arrays automáticamente: arange
(arrays de números enteros), zeros (arrays de ceros), ones (arrays de unos).

arange
zeros
ones
linspace

Vectores
Los arrays de la librería numpy

Los arrays se indexan prácticamente igual que las listas y las cadenas de texto, es decir, el
primer elemento ocupa la posición 0. A fin de seleccionar un conjunto determinado de un
array, indicaremos el nombre del array y sus posiciones entre corchetes.

Indexación
Los arrays de la librería numpy

Por ejemplo, el array x de nuestro ejemplo tiene una fila y 11 columnas. Para hacer
referencia al primer elemento escribimos x[0], para el segundo x[1], etc.

Indexación
Los arrays de la librería numpy

También se pueden utilizar índices negativos. Por ejemplo, la orden x[-1] devuelve el último
elemento del array.

Indexación
Los arrays de la librería numpy

Si deseamos extraer el primero, el segundo y el último podemos utilizar x[[0,1,-1]].

Indexación
Los arrays de la librería numpy

La orden x[4:9] formado por los elementos de las posiciones 4, 5, 6, 7 y 8 (suponiendo que la
primera es la posición 0). Notemos que elemento de la posición 4 está incluido, pero no el
de la posición 9.

Indexación
Los arrays de la librería numpy

Más generalmente, podemos usar la orden x[3:-1:2] que define un nuevo vector desde el
elemento que ocupa la posición 3 (el cuarto) hasta el último, saltando de dos en dos.

Indexación
Los arrays de la librería numpy

Además, si queremos invertir el orden de los elementos de un vector podemos usar x[::-1].

Indexación
Los arrays de la librería numpy

Además de los arrays, en numpy podemos encontrar ya definidas ciertas funciones, como la
raíz cuadrada, el logaritmo, la exponencial y las funciones trigonométricas, y algunas
constantes como, por ejemplo, Pi.

Operaciones
Los arrays de la librería numpy

Operaciones
Los arrays de la librería numpy

Operaciones
Los arrays de la librería numpy

Operaciones
Los arrays de la librería numpy

Operaciones
Los arrays de la librería numpy

Operaciones
Los arrays de la librería numpy

Operaciones
Los arrays de la librería numpy

Operaciones
Los arrays de la librería numpy

Operaciones
Los arrays de la librería numpy

Operaciones
Los arrays de la librería numpy

Operaciones
Unos ejercicios

5
Calcula 233, 1 − 3𝑖 , arg 4 + 3𝑖 , 𝑚𝑐𝑑 1260,3846 .

Sea 𝑥 = (1,4,6,5,8,9,10,2,5,6,8), calcula:


El logaritmo neperiano de cada elemento de x.
El logaritmo decimal de cada elemento de x.
El logaritmo en base 2 de cada elemento de x.
La raíz cuadrada de cada elemento de x.
La potencia de base 10 de cada elemento de x.
La potencia de base e de cada elemento de x.
La potencia de base 2 de cada elemento de x.

Sea 𝑥 = (−1.24, 0.24, −2.9,6.7, −0.56), ¿qué obtendremos al utilizar


𝑐𝑒𝑖𝑙(𝑥), 𝑓𝑖𝑥(𝑥), 𝑓𝑙𝑜𝑜𝑟(𝑥) 𝑦 𝑟𝑜𝑢𝑛𝑑(𝑥)?

Calcula el mcd y mcm de 1246, 2468, 128 𝑦 512.


Los arrays de la librería numpy

En numpy hay una clase de objetos denominada matrix, pero la documentación de Python
advierte de que esta clase será eliminada en el futuro.

¿Qué podríamos
usar en lugar de
esta clase?

Matrices
Los arrays de la librería numpy

Las matrices en Python son construidas como arrays cuyos elementos son listas.

Matrices
Los arrays de la librería numpy

Los elementos están indexados desde la posición 0 tanto en filas como en columas. Por
ejemplo, A[0,0] denota el elemento situado en la primera fila y primera columna de la matriz
A. De igual forma, si queremos extraer la primera fila usaremos A[0,:] y la primera columna,
A[:,0].

Observa cómo se
necesitan dos
índices para ubicar
los elementos.

Matrices
Los arrays de la librería numpy

Las funciones zeros, ones y diag también permiten construir matrices.

zeros
ones
diag

Matrices
Los arrays de la librería numpy

Las matrices, escritas como arrays, se pueden sumar atendiendo a ciertas reglas:

Matrices
Los arrays de la librería numpy

Otras operaciones relacionadas con las matrices son las siguientes:

Matrices
Los arrays de la librería numpy

Al contrario de lo que podamos pensar, si A y B son dos matrices, el producto A*B tiene
sentido “para Python”. ¿Te imaginas cuál será el resultado?

Más allá de descartar el uso de estas


operaciones en Python, debemos sacar
partido de ellas (siempre que sea posible y
necesario) a pesar de que
matemáticamente el producto de dos
matrices no sea definido de esta forma.

Matrices
Los arrays de la librería numpy

Las matrices juegan un papel fundamental en álgebra lineal. No en vano, un sistema de


ecuaciones lineales puede ser representado en notación matricial mediante su matriz de
coeficientes. Las operaciones anteriores pueden servirnos para obtener la solución de un
sistema de ecuaciones lineales, pero también el subpaquete linalg de numpy contiene
funciones de interés en este sentido.

1𝑥1 2 31
4𝑥2 = 2
5 6
7𝑥3 8 93
1 2 3 𝑥1 1
Si llamamos 𝐴 = 4 5 6 , 𝑋 = 𝑥2 y 𝑏 = 2 entonces:

7 8 9 𝑥3 3
𝐴𝑋 = 𝑏 ⟺ 𝑋 = 𝐴−1 𝑏 Matrices
Los arrays de la librería numpy

Las matrices juegan un papel fundamental en álgebra lineal. No en vano, un sistema de


ecuaciones lineales puede ser representado en notación matricial mediante su matriz de
coeficientes. Las operaciones anteriores pueden servirnos para obtener la solución de un
sistema de ecuaciones lineales…

2 −1 2 𝑥1 6
3 2 −1 𝑥2 = 4
4 3 −3 𝑥3 1
2 −1 2 𝑥1 6
𝐴 = 3 2 −1
Si llamamos , 𝑋 = 𝑥2y 𝑏= 4 entonces:

4 3 −3 𝑥3 1
𝐴𝑋 = 𝑏 ⟺ 𝑋 = 𝐴−1 𝑏 Matrices
Los arrays de la librería numpy

Pero también el subpaquete linalg de numpy contiene funciones de interés en este sentido.

dot
solve

Matrices
Los arrays de la librería numpy
linalg

Matrices
Los arrays de la librería numpy

linalg

En linalg podemos encontrar muchas otras


, funciones, por ejemplo, para la descomposición de
matrices…

Matrices
Los arrays de la librería numpy

También podemos construir arrays de números aleatorios mediante las funciones rand y
randint presentes en el módulo random de numpy.

randint
rand

Números aleatorios
Los arrays de la librería numpy

Vectores de
números aleatorios.

Matrices de
números enteros
aleatorios.

Números aleatorios
Las herramientas de

También podría gustarte