0% encontró este documento útil (0 votos)
15 vistas72 páginas

Python 1-1

Python es un lenguaje de programación de propósito general, creado por Guido van Rossum, que es fácil de aprender y flexible, soportando múltiples paradigmas de programación. Sus características incluyen ser interpretado, multiplataforma y tener un formato de código estructural, lo que facilita la legibilidad. Aunque Python tiene ventajas como su simplicidad y una comunidad activa, también presenta desventajas como una curva de aprendizaje y problemas de soporte en algunos servidores.

Cargado por

Víctor Silva
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
15 vistas72 páginas

Python 1-1

Python es un lenguaje de programación de propósito general, creado por Guido van Rossum, que es fácil de aprender y flexible, soportando múltiples paradigmas de programación. Sus características incluyen ser interpretado, multiplataforma y tener un formato de código estructural, lo que facilita la legibilidad. Aunque Python tiene ventajas como su simplicidad y una comunidad activa, también presenta desventajas como una curva de aprendizaje y problemas de soporte en algunos servidores.

Cargado por

Víctor Silva
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 72

Una introducción a

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
necesidad
• Es un lenguaje de crear no
interpretado, programas
compilado que usa tipado dinámico, fuertemente tipado
externosrepentinamente).
(el tipo de valor no cambia
• 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
necesidad
• Es un lenguaje de crear no
interpretado, programas
compilado que usa tipado dinámico, fuertemente tipado
comprueba durante la ejecución
externosrepentinamente).
(el tipo de valor no cambia
• 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
necesidad
• Es un lenguaje de crear no
interpretado, programas
compilado que usa tipado dinámico, fuertemente tipado
comprueba durante la ejecución
externosrepentinamente).
(el tipo de valor no cambia
• Es multiplataforma, lo cual es ventajoso para hacer ejecutable su código fuente entre
varios sistema operativos.
El código
• Es un lenguaje de programación se
multiparadigma, el cual soporta varios paradigmas de
organiza en
programación como orientación a clases
objetos, estructurada, programación imperativa y, en
que se relacionan
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
necesidad
• Es un lenguaje de crear no
interpretado, programas
compilado que usa tipado dinámico, fuertemente tipado
comprueba durante la ejecución
externosrepentinamente).
(el tipo de valor no cambia
• Es multiplataforma, lo cual es ventajoso para hacer ejecutable su código fuente entre
varios sistema operativos.
El código
• Es un lenguaje de programación se
multiparadigma, el cual soporta varios paradigmas de
Se basa en utilizar funciones que describen
organiza en
programación como orientación a clases
objetos, estructurada, programación imperativa y, en
las operaciones a realizar
que se relacionan
menor medida, programación 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.

SeLa
pueden
suma desumar
dos números, pero
cadenas de
no se pueden sumar
caracteres cadenas
(escritas entre de
caracteres
comillas) es(¿o sí?).
la concantenación
de las dos cadenas.

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
Observa cómo “contenedor” que
Python suma y se usan para
multiplica dos almacenar
listas. conjuntos de
elementos. Los
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 # Cargar el modulo numpy, o bien


import numpy as np # Cargar el modulo numpy, llamándolo np, o bien
from 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
[email protected] [email protected]

También podría gustarte