Python es un lenguaje que está altamente modularizado: está dividido en bibliotecas que realizan tareas específicas. Para hacer uso de ellas debemos importarlas. Podemos importar cosas de la biblioteca estándar, de paquetes que hayamos descargado (o se enceuntren en nuestra distribución) o de módulos que nosotros mismos construyamos.
import ______
¶Existen varias formas de importar:
import numpy
Cada vez que queramos acceder a una función de numpy, deberemos escribir:
numpy.sin(5)
numpy.linspace(0,100,50)
import numpy
numpy.sin(numpy.pi)
1.2246467991473532e-16
import _____ as __
¶Como esto puede resultar tedioso, suele utilizarse un namespace, el recomendado en la documentación oficial y que usaremos en el curso es:
import numpy as np
Ahora podremos llamar a funciones escribiendo:
np.sin(5)
np.linspace(0,100,50)
import numpy as np
np.sin(np.pi)
1.2246467991473532e-16
from _____ import ___, ___, ___
¶También podríamos importar funciones concretas dentro del paquete que queramos usar, por ejemplo:
from numpy import linspace, sin
from numpy import linspace, sin
sin(np.pi)
1.2246467991473532e-16
from _____ import *
¶Si esto te sigue pareciendo demasido escribir puedes hacer (altamente no recomendado):
from numpy import *
El asterisco, quiere decir TODO. Esto genera varios problemas:
from numpy import *
a = [1,2,3,4,5]
sin(a)
array([ 0.84147098, 0.90929743, 0.14112001, -0.7568025 , -0.95892427])
from math import *
sin(a)
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-8-bd5f2f081266> in <module>() 1 from math import * 2 ----> 3 sin(a) TypeError: must be real number, not list
La función seno que incorporá math no es la misma que la de NumPy. Ambas proporcionarán el seno de un número, evidentemente, el mismo resultado para el mismo número, pero una acepta listas y la otra no. Al hacer la segunda importación, la función seno de NumPy se ha sustituido por la de math y la misma sentencia, da un error. Esto puede hacer que te vuelvas un poco loco si tu código es grande o acabes volviendo loco a alguien si usa tu código.
¿Suficiente? Ahora ya sabes por qué tendrás que escribir np.loquesea
siempre.
___Hemos aprendido:___
numpy
como np
Las siguientes celdas contienen configuración del Notebook
Para visualizar y utlizar los enlaces a Twitter el notebook debe ejecutarse como seguro
File > Trusted Notebook
# Esta celda da el estilo al notebook
from IPython.core.display import HTML
css_file = '../styles/aeropython.css'
HTML(open(css_file, "r").read())