Una Introducción A: Carmen - Gandia@ua - Es Julio - Mulero@ua - Es

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 72

Una introducción a

Carmen Gandía Julio Mulero


carmen.gandia@ua.es julio.mulero@ua.es
Una introducción a Python
¿Qué es Python?
¿Qué nos hace falta?
¡Comencemos!
¿Qué es Python?
¿Qué es Python?
Python es un lenguaje de programación de propósito general muy poderoso y flexible, a la vez que sencillo y
fácil de aprender, y fue creado a principios de los noventa por Guido van Rossum en los Países Bajos.

Es un lenguaje de alto nivel, que permite procesar fácilmente todo tipo de estructuras de
datos, tanto numéricas como de texto.

Es software libre, y está implementado en todas las plataformas y sistemas operativos habituales.
Características básicas

Las características del lenguaje de programación Python se resumen a continuación:

• Es un lenguaje interpretado, no compilado que usa tipado dinámico, fuertemente tipado


(el tipo de valor no cambia repentinamente).
• Es multiplataforma, lo cual es ventajoso para hacer ejecutable su código fuente entre
varios sistema operativos.
• Es un lenguaje de programación multiparadigma, el cual soporta varios paradigmas de programación como
orientación a objetos, estructurada, programación imperativa y, en menor medida, programación funcional.
• En Python, el formato del código (p. ej., la indentación) es estructural.
Características básicas

Las características del lenguaje de programación Python se resumen a continuación:


El código fuente es interpretado sin
• Es un lenguaje
necesidad de crear programas
interpretado, externos
no compilado que usa tipado dinámico, fuertemente tipado
(el tip o de valor no cambia repentinament e).
• Es multiplataforma, lo cual es ventajoso para hacer ejecutable su código fuente entre
varios sistema operativos.
• Es un lenguaje de programación multiparadigma, el cual soporta varios paradigmas de programación como
orientación a objetos, estructurada, programación imperativa y, en menor medida, programación funcional.
• En Python, el formato del código (p. ej., la indentación) es estructural.
Características básicas

Las características del lenguaje de programación Python se resumen a continuación:


El código fuente es interpretado sin
El tipo de las variables se
• Es un lenguaje
necesidad de crear programas
interpretado, externos
no compilado que usa tipado dinámico, fuertemente tipado
comprueba durante la ejecución
(el tip o de valor no cambia repentinament e).
• Es multiplataforma, lo cual es ventajoso para hacer ejecutable su código fuente entre
varios sistema operativos.
• Es un lenguaje de programación multiparadigma, el cual soporta varios paradigmas de programación como
orientación a objetos, estructurada, programación imperativa y, en menor medida, programación funcional.
• En Python, el formato del código (p. ej., la indentación) es estructural.
Características básicas

Las características del lenguaje de programación Python se resumen a continuación:


El código fuente es interpretado sin
El tipo de las variables se
• Es un lenguaje
necesidad de crear programas
interpretado, externos
no compilado que usa tipado dinámico, fuertemente tipado
comprueba durante la ejecución
(el tip o de valor no cambia repentinament e).
• Es multiplataforma, lo cual es ventajoso para hacer ejecutable su código fuente entre
varios sistema operativos.
• Es un lenguaje de pro El código se organiza
gramación multiparadigma, el cual soporta varios paradigmas de
programación como en clases aque objetos
orientación se , estructurada, programación imperativa y, en
menor medida, progr amaciónrelacionan
funcional.
• En Python, el formato del código (p. ej., la indentación) es estructural.
Características básicas

Las características del lenguaje de programación Python se resumen a continuación:


El código fuente es interpretado sin
El tipo de las variables se
• Es un lenguaje
necesidad de crear programas
interpretado, externos
no compilado que usa tipado dinámico, fuertemente tipado
comprueba durante la ejecución
(el tip o de valor no cambia repentinament e).
• Es multiplataforma, lo cual es ventajoso para hacer ejecutable su código fuente entre
varios sistema operativos.
• Es un lenguaje de pro El código se organiza
gramación multipara igma, el cual soporta varios paradigmas de
d Se basa en utilizar funciones que describen
programación como en clases aque objetos
orientación se , estructurada,
lasprogramación
operaciones aimperativa
realizar y, e n
menor medida, progr amaciónrelacionan
funcional.
• En Python, el formato del código (p. ej., la indentación) es estructural.
Como curiosidad…
El Zen de Python es una colección de 20 principios de software que influyen en el diseño del Lenguaje de
Programación Python, de los cuales 19 fueron escritos por Tim Peters en junio de 1999:

• Bello es mejor que feo.


• Explícito es mejor que implícito.
• Simple es mejor que complejo.
• Complejo es mejor que complicado.
• Plano es mejor que anidado.
• Disperso es mejor que denso.
• La legibilidad cuenta.
• Los casos especiales no son tan especiales como para quebrantar las reglas.
• Lo práctico gana a lo puro.
• Los errores nunca deberían dejarse pasar silenciosamente.
• Los espacios de nombres (namespaces) son una gran idea ¡Hagamos más de esas cosas!
Como curiosidad…

• A menos que hayan sido silenciados explícitamente.


• Frente a la ambigüedad, rechaza la tentación de adivinar.
• Debería haber una -y preferiblemente sólo una- manera obvia de hacerlo.
• Aunque esa manera puede no ser obvia al principio a menos que usted sea holandés.
• Ahora es mejor que nunca.
• Aunque nunca es a menudo mejor que ya mismo.
• Si la implementación es difícil de explicar, es una mala idea.
• Si la implementación es fácil de explicar, puede que sea una buena idea.
• Los espacios de nombres (namespaces) son una gran idea ¡Hagamos más de esas cosas!
Ventajas
• Simplificado y rápido: Este lenguaje simplifica mucho la programación “hace que te adaptes a un modo
de lenguaje de programación, Python te propone un patrón”. Es un gran lenguaje para scripting, si usted
requiere algo rápido (en el sentido de la ejecución del lenguaje), con unas cuantas líneas ya está resuelto.
• Elegante y flexible: El lenguaje le da muchas herramientas, si usted quiere listas de varios tipo de datos, no
hace falta que declares cada tipo de datos. Es un lenguaje tan flexible usted no se preocupa tanto por los
detalles.
• Programación sana y productiva: Programar en Python se convierte en un estilo muy sano de programar: es
sencillo de aprender, direccionado a las reglas perfectas, le hace como dependiente de mejorar, cumplir las
reglas, el uso de las lineas, de variables”. Ademas es un lenguaje que fue hecho con productividad en mente,
es decir, Python le hace ser mas productivo, le permite entregar en los tiempos que me requieren.
Ventajas
• Ordenado y limpio: El orden que mantiene Python, es de lo que más le gusta a sus usuarios, es muy
legible, cualquier otro programador lo puede leer y trabajar sobre el programa escrito en Python. Los
módulos están bien organizados, a diferencia de otros lenguajes.
• Portable: Es un lenguaje muy portable (ya sea en Mac, Linux o Windows) en comparación con otros
lenguajes. La filosofía de baterías incluidas, son las librerías que más usted necesita al día a día de
programación, ya están dentro del interprete, no tiene la necesidad de instalarlas adicionalmente con en
otros lenguajes.
• Comunidad: Algo muy importante para el desarrollo de un lenguaje es la comunidad, la misma comunidad
de Python cuida el lenguaje y casi todas las actualizaciones se hacen de manera democrática.
Desventajas

• Curva de aprendizaje: La “curva de aprendizaje cuando ya estás en la parte web no es tan sencilla”.
• Hosting: La mayoría de los servidores no tienen soporte a Python, y si lo soportan, la configuración
es un poco difícil.
• Librerías incluidas: Algunas librerías que trae por defecto no son del gusto de amplio de la comunidad, y
optan a usar librerías de terceros.
¿Qué nos hace falta?
Descarga e instalación: Anaconda

Para poder utilizar Python lo tienes que tener instalado en tu ordenador.


Hay diferentes maneras de hacerlo, pero te recomendamos que utilices Anaconda, una distribución de
Python que incorpora muchas herramientas.
Simplemente elige la versión que corresponde a tu sistema operativo e instálala siguiendo las instrucciones.
También, asegúrate de elegir la versión que viene con Python 3 y no la de Python 2.

https://www.anaconda.com/
Descarga e instalación: Anaconda

• La distribución de Anaconda incluye muchas herramientas populares como la consola Ipython, Jupyter
Notebook, y Spyder IDE.
• Anaconda viene con un gestor de paquetes llamado conda, el cual hace que sea fácil instalar y actualizar
herramientas (librerías) adicionales.
• Ipython es un intérprete interactivo mejorado de Python.
• Jupyter Notebook es una aplicación web de código abierto que permite crear y compartir
documentos que permiten crear de manera sencilla documentos que combinan código, gráficos y
texto narrativo.
• Spyder es un Entorno de Desarrollo Integrado (IDE, por sus siglas en inglés) que permiten escribir scripts de
Python e interactuar con el software de Python desde una interfaz única.
Descarga e instalación: Spyder

• Hay muchísimas formas de hacerlo, pero nosotros te recomendamos que utilices el IDE
(entorno de desarrollo integrado) Spyder que viene incluido en Anaconda.

https://www.anaconda.com/

https://www.spyder-ide.org/
Descarga e instalación: Spyder

Spyder posee funciones avanzadas de edición, pruebas


interactivas, depuración e introspección y un entorno
informático numérico.
Gracias al soporte de IPython y librerías populares de Python
como Numpy, Scipy o matplotlib (trazado interactivo 2D / 3D).
Spyder (anteriormente Pydee) es un entorno de desarrollo
integrado y multiplataforma de código abierto (IDE) para
programación científica en el lenguaje Python.

https://www.spyder-ide.org/
La interfaz de Spyder

https://ligdigonzalez.com/como-trabajar-en-spyder-curso-de-python/
La interfaz de Spyder

• El editor ubicado en el lado izquierdo de la pantalla, mientras que la consola (interactiva)


de Python (IPython) se encuentra en el lado inferior derecho.

• Puedes comenzar a trabajar con Spyder inmediatamente en la ventana de la consola. De manera


predeterminada, Spyder proporciona una consola IPython que puedes usar para interactuar directamente con
el motor de Python. Funciona, esencialmente, de la misma manera que funciona en la línea de comando, la
gran diferencia es que Spyder puede inspeccionar los contenidos del motor de Python y puede hacer otras
cosas como mostrar variables y sus contenidos dentro del explorador de variables.

• En la parte superior derecha tenemos un panel que cuenta con varias pestañas. En la primera es un
explorador de variables, en la misma podemos ver, de manera muy sencilla, todas las variables que hemos
creado durante el desarrollo de nuestro programa.
La consola de Spyder

“In [1]” es el conjunto de caracteres que


indican que Python está a la espera de la
primera orden.
La consola de Spyder

Una vez escrita la instrucción


correspondiente pulsamos Enter y la
consola devolverá el resultado y quedará a
la espera de la segunda orden.
El editor de Spyder

Una forma más conveniente de trabajar con


Python es a partir de scripts (archivos de
extensión .py) que podemos crear desde

Archivo/Nuevo archivo.
El editor de Spyder

Las instrucciones se pueden


escribir en el script y, una
vez seleccionadas las líneas,
las podemos compilar
pulsando en “Ejecutar línea
actual”. El resultado se
podrá consultar en la
consola.
El editor de Spyder

Para compilar cualquier


parte del código, no
necesariamente una línea
completa, también se
puede seleccionar con el
ratón y pulsar:

Ctrl+Enter.
La ayuda de Spyder

Utilizando la función
help podemos consultar
las características de un
objeto o una función. Los
comentarios se visualizan
en la consola.
¡Comencemos!
Primeros pasos

Seis entradas en total por 6.25 euros que cuesta cada entrada, supone un total de 37.5 euros.

Si paga con un billete de 50 euros, le deberán devolver 12.5 euros.


Primeros pasos

Escribimos 6*6.25 y, tras


compilar, obtenemos 37.5.

Escribimos 50-37.5,
compilamos, y obtenemos 12.5.

También podemos seleccionar


las dos líneas, pero en este caso
la consola solo mostrará el
último resultado obtenido.
Primeros pasos: los objetos

Además, podemos almacenar


la información en objetos
(entradas, precio_entrada, etc.).

Una vez asignados los valores


(mediante =), podemos
trabajar con el nombre de los
objetos.

Los objetos juegan el papel de


las variables.
Primeros pasos: los objetos

Es importante tener en cuenta


que, si cambiamos el valor de un
objeto (por ejemplo,
precio_entrada = 7), el valor de
los demás objetos se mantiene.
En particular, precio_total y
cambio no sufrirán
modificaciones a pesar de que
fueron creados a partir de
precio_entrada.
Primeros pasos: los objetos

Si queremos que se actualicen los


valores de los objetos, debemos
compilar de nuevo la definición
de los objetos.
Primeros pasos: los objetos

Si no recordamos los nombres de


las variables (o su valor), podemos
consultarlo en el Explorador de
variables (justo encima de la
consola).

Asimismo, también podemos usar


la función whos, que devuelve en la
consola una tabla similar a la que
aparece en el Explorador de
variables.
Primeros pasos: los objetos

El Explorador de variables
también muestra el tipo de los
diferentes objetos.

Aun así, si quisiéramos recordarlo


sin acudir al explorador, podemos
usar la función type.
Primeros pasos: los objetos

Hay muchos tipos de objetos con los que podemos trabajar. Por ejemplo, los números en Python están fuertemente
relacionados con los números matemáticos, pero están sujetos a las limitaciones de la representación numérica en las
computadoras. Python distingue entre enteros, números de punto flotante y números complejos (lo veremos con más
ejemplos más adelante):
Primeros pasos: las operaciones

Las operaciones básicas (con


los objetos anteriores) que
podemos realizar en Python
son:
Operación Símbolo Ejemplo

Adición + 2+3

Sustracción - 2-3

Multiplicación * 2*3

División / 2/3

Potenciación ** 2**3
Primeros pasos: las operaciones

Las expresiones se evalúan de


izquierda a derecha teniendo en
cuenta las prioridades
siguientes:
• Potencias.
• Multiplicaciones y
divisiones.
• Adiciones y sustracciones.

Los paréntesis, como es usual, se


utilizan para alterar las
prioridades.
Primeros pasos: las operaciones

Obviamente, cada tipo de objeto


permite unas operaciones concretas.

La suma de dos cadenas de caracteres


Se pueden sumar
(escritas números,
entre pero
comillas) no se
es la
pueden sumar cadenas
concantenación de lasdedos
caracteres
cadenas.(¿o
sí?).

Se pueden multiplicar números, pero


no se pueden multiplicar cadenas de
caracteres.
Primeros pasos: las librerías o módulos

En Python, cada uno de nuestros scripts .py se denominan módulos. Estos módulos, a la vez,
pueden formar parte de librerías. Una librería (o paquete) es una carpeta que contiene archivos
.py. Pero, para que una carpeta pueda ser considerada un paquete, debe contener un archivo de inicio llamado
init .py. Este archivo, no necesita contener ninguna instrucción. De hecho, puede estar
completamente vacío. Los paquetes, a la vez, también pueden contener otros sub- paquetes
Primeros pasos: las librerías o módulos

El contenido de cada módulo, podrá ser utilizado a la vez, por otros módulos. Para ello, es necesario importar los
módulos que se quieran utilizar. Para importar un módulo, se utiliza la instrucción import, seguida del nombre del
paquete más el nombre del módulo (sin el .py) que se desee importar. La instrucción

import seguida de nombre_del_paquete.nombre_del_modulo,

nos permitirá hacer uso de todo el código que dicho módulo contenga.
Primeros pasos: las librerías o módulos

La importación de módulos debe realizarse al comienzo del documento, en orden alfabético de


paquetes y módulos.

Es posible también, abreviar los namespaces mediante un alias. Para ello, durante la importación, se asigna la palabra
clave as seguida del alias con el cuál nos referiremos en el futuro a ese namespace importado:
Primeros pasos: las librerías o módulos

Asimismo, también podemos importar algunas funciones concretas del módulo y paquete al que
pertenezcan:

Lo mejor de todo es que podemos crear nuestros propios módulos y paquetes y trabajar con ellos
sin más que importando las funciones que contienen.
Primeros pasos: las librerías o módulos

Imaginemos que construimos un script con las cuatro operaciones básicas: sumar, restar,
multiplicar y dividir, y deseamos construir un paquete con dichas funciones:
Primeros pasos: las librerías o módulos

En primer lugar, debemos conocer el directorio desde donde Python carga los paquetes que se
importan. Para ello podemos usar la librería os y la instrucción getcwd():
Primeros pasos: las librerías o módulos

A continuación, creamos un directorio nuevo (de nombre, operaciones) e incluimos en él nuestro


script (con nombre básicas.py) y un archivo adicional que estará vacío y que llamaremos
__init__.py:
Primeros pasos: las librerías o módulos

Por último, en cualquier otro lugar (por ejemplo, otro script) podemos cargar las funciones que
contiene el paquete operaciones y el módulo basicas:
Primeros pasos: las librerías o módulos

La biblioteca estándar de Python es muy extensa y ofrece una amplia gama de funciones. La biblioteca contiene
módulos incorporados que brindan acceso a la funcionalidad del sistema, que de otra manera serían inaccesibles
para los programadores de Python, así como módulos escritos en Python que brindan soluciones estandarizadas
para muchos problemas que ocurren en programación diaria.

Los instaladores de Python para la plataforma Windows generalmente incluyen la biblioteca estándar completa y, a
menudo, también incluyen muchos componentes adicionales. Para los sistemas operativos similares a Unix, Python
normalmente se proporciona como una colección de paquetes, por lo que puede ser necesario utilizar las
herramientas de empaquetado proporcionadas con el sistema operativo para obtener algunos o todos los componentes
opcionales.

.Lo mejor (mejor) de todo es que la comunidad de usuarios de Python crea paquetes que proporcionan importantes e
interesantes funcionalidades y los ponen a disposición de los demás usuarios.
Primeros pasos: las librerías o módulos

Numpy Acrónimo de Numerical Python. Su características más potente es que


puede trabajar con matrices (array) de n dimensiones.

También ofrece funciones básicas de algebra lineal, transformada de Fourier,


capacidades avanzadas con números aleatorios, y herramientas de integración con
otros lenguajes de bajo nivel como Fortran, C y C++.
.
Primeros pasos: las librerías o módulos

Scipy Acrónimo de Scientific Python. SciPy está construida sobre la librería


NumPy.

Es una de las más útiles por la gran variedad que tiene de módulos de alto nivel
sobre ciencia e ingeniería, como transformada discreta de Fourier, álgebre lineal, y
matrices de optimización.
.
Primeros pasos: las librerías o módulos

Matplotlib Es una librería de gráficos, desde histogramas, hasta gráficos de líneas o


mapas de calor.

También se pueden usar comandos de Latex para agregar expresiones matemáticas a


tu gráfica.

.
Primeros pasos: las librerías o módulos

Simpy SymPy: se usa para cálculo simbólico, desde aritmética, a cálculo,


álgebra, matemáticas discretas y física cuántica.

También permite formatear los resultados en código Latex.

.
Primeros pasos: las librerías o módulos

Statsmodels Es un módulo de Python que permite a los usuarios explorar datos, hacer
estimaciones de modelos estadísticos y realizar test estadísticos.

Ofrece una extensa lista de estadísticas descriptivas, test, funciones


gráficas, etc. para diferentes tipos de datos y estimadores.
.
Primeros pasos: las librerías o módulos
Por ejemplo…

Imaginemos que deseamos trabajar con conjuntos de valores numéricos (vectores) desde el punto de vista
matemático. La biblioteca estándar de Python permite trabajar con listas, ¿será esa nuestra solución?

Las listas en Python


son un tipo de objeto
“contenedor” que se
Observa cómo usan para almacenar
Python suma y conjuntos de
multiplica dos elementos. Los
listas. elementos aparecen
entre corchetes.
Por ejemplo…

Numpy es una librería para Python que facilita el trabajo con arrays (vectores y matrices), un tipo de dato
estructurado muy utilizado en análisis de datos, en informática científica y en el área del aprendizaje automático
(learning machine).

Numpy permite declarar arrays con distintas dimensiones capaces de albergar gran cantidad de datos del mismo tipo
y relacionados entre sí. Además, provee numerosos métodos para manipular los arrays; y para acceder a la
información y procesarla de forma muy eficiente.
Por ejemplo…

Para trabajar con numpy y los arrays, importamos la librería a partir de alguna de las siguientes
instrucciones:

import numpy import # Cargar el modulo numpy, o bien


numpy as np from # Cargar el modulo numpy, llamándolo np, o bien
numpy import * # Cargar todas funciones de numpy

Si cargamos el módulo solamente, accederemos a las funciones como numpy.array() o np.array(), según
cómo importemos el módulo; si en lugar de eso importamos todas las funciones, accederemos a ellas
directamente (e.g. array()).
Por ejemplo…
Por ejemplo…
Por ejemplo…
Por ejemplo…

Los arrays son objetos similares a las listas (que se crean recogiendo sus elementos entre
corchetes), pero permiten ayudan a realizar cálculos numéricos.

arrays
Por ejemplo…

De hecho, los arrays se pueden construir partiendo de las listas.

listas

arrays
Por ejemplo…

Además de los arrays, en numpy podemos encontrar ya definidas ciertas funciones, como
las trigonométricas o la exponencial, y algunas constantes como, por ejemplo, Pi.
Por ejemplo…

Las raíces de una ecuación de segundo grado �𝑥2 + ��+ � = 0 son:

−� + � 2 −
𝑥=
4�� 2

−� − � 2 −
𝑥=
4�� 2

Vamos a calcular las raíces de 𝑥2 + 5�+ 6 = 0.


Por ejemplo…

Observa cómo
definimos en una
misma línea los
valores de a, b y c

Asignamos los valores


de las soluciones a x1
y x2 Comprobamos que
son soluciones
Por ejemplo…

Las raíces de una ecuación de segundo grado �𝑥2 + ��+ � = 0 son:

−� + � 2 −
𝑥=
4�� 2

−� − � 2 −
𝑥=
4�� 2

¿Qué ocurre si queremos resolver 𝑥2 + 4�+ 13 = 0?


Por ejemplo…

Las soluciones son


números complejos y
hay que trabajar con
otra librería (cmath,
por ejemplo)
Observa el
formato
Por ejemplo…

Observa el
tipo
¿Nos acordaremos la próxima vez?

Python entiende que cualquier texto precedido por el signo # es un


comentario. Es conveniente insertar explicaciones en forma de comentarios en nuestro
script.
¿Y si ya hemos acabado de trabajar?

Si lo que hemos escrito en el script es de valor, lo guardaremos con formato py para tenerlo
disponible cuando queramos retomar el trabajo.
Una introducción a
Carmen Gandía Julio Mulero
carmen.gandia@ua.es julio.mulero@ua.es

También podría gustarte