0% encontró este documento útil (0 votos)
71 vistas11 páginas

Py 4

Este documento proporciona una introducción a Python y sus herramientas fundamentales. Se describe a Thonny, un entorno de desarrollo integrado que incluye un intérprete, editor y depurador de Python, lo que lo hace útil para principiantes. También se mencionan brevemente otros editores como Spyder, Sublime Text y Visual Studio Code.

Cargado por

LUIS0304
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)
71 vistas11 páginas

Py 4

Este documento proporciona una introducción a Python y sus herramientas fundamentales. Se describe a Thonny, un entorno de desarrollo integrado que incluye un intérprete, editor y depurador de Python, lo que lo hace útil para principiantes. También se mencionan brevemente otros editores como Spyder, Sublime Text y Visual Studio Code.

Cargado por

LUIS0304
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/ 11

6.4 Módulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

335

7 Procesamiento de texto 347


7.1 re . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
7.2 string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359

8 Acceso a datos 363


8.1 sqlite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364

9 Ciencia de datos 383


9.1 jupyter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
9.2 numpy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
9.3 pandas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
9.4 matplotlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515

10 Scraping 557
10.1 requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
10.2 beautifulsoup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
10.3 selenium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581

ii
Aprende Python

Los ordenadores son dispositivos complejos pero están diseñados para hacer una cosa bien:
ejecutar aquello que se les indica. La cuestión es cómo indicar a un ordenador lo que
queremos que ejecute. Esas indicaciones se llaman técnicamente instrucciones y se expresan
en un lenguaje. Podríamos decir que programar consiste en escribir instrucciones para que
sean ejecutadas por un ordenador. El lenguaje que utilizamos para ello se denomina lenguaje
de programación.1

1.1.1 Código máquina

Pero aún seguimos con el problema de cómo hacer que un ordenador (o máquina) entienda
el lenguaje de programación. A priori podríamos decir que un ordenador sólo entiende un
lenguaje muy «simple» denominado código máquina. En este lenguaje se utilizan únicamente
los símbolos 0 y 1 en representación de los niveles de tensión alto y bajo, que al fin y al
cabo, son los estados que puede manejar un circuito digital. Hablamos de sistema binario. Si
tuviéramos que escribir programas de ordenador en este formato sería una tarea ardua, pero
afortunadamente se han ido creando con el tiempo lenguajes de programación intermedios
que, posteriormente, son convertidos a código máquina.
Si intentamos visualizar un programa en código máquina, únicamente obtendríamos una
secuencia de ceros y unos:

00001000 00000010 01111011 10101100 10010111 11011001 01000000 01100010


00110100 00010111 01101111 10111001 01010110 00110001 00101010 00011111
10000011 11001101 11110101 01001110 01010010 10100001 01101010 00001111
11101010 00100111 11000100 01110101 11011011 00010110 10011111 01010110

1.1.2 Ensamblador

El primer lenguaje de programación que encontramos en esta «escalada» es ensamblador.


Veamos un ejemplo de código en ensamblador del típico programa que se escribe por primera
vez, el «Hello, World»:

SYS_SALIDA equ 1

section .data
msg db "Hello, World",0x0a
len equ $ - msg ;longitud de msg

section .text
global _start ;para el linker
_start: ;marca la entrada
mov eax, 4 ;llamada al sistema (sys_write)
(continué en la próxima página)
1
Foto original por Garett Mizunaka en Unsplash.

4 Capítulo 1. Introducción
Aprende Python

1.2.1 Hitos de la computación

La siguiente tabla es un resumen de los principales hitos en la historia de la computación:

Tabla 1: Hitos en la computación


Personaje Aporte Año
Gottfried Leibniz Máquinas de operaciones básicas XV
Charles Babbage Máquina diferencial para el cálculo de polinomios XVII
Ada Lovelace Matemática, informática y escritora británica. XVII
Primera programadora de la historia por el
desarrollo de algoritmos para la máquina analítica
de Babbage
George Boole Contribuyó al algebra binaria y a los sistemas de 1854
circuitos de computadora (álgebra booleana)
Herman Hollerit Creador de un sistema para automatizar la 1890
pesada tarea del censo
Alan Turing Máquina de Turing - una máquina capaz de 1936
resolver problemas - Aportes de Lógica Matemática
- Computadora con tubos de vacío
John Atanasoff Primera computadora digital electrónica 1942
patentada: Atanasoff Berry Computer (ABC)
Howard Aiken En colaboración con IBM desarrolló el Mark I, una 1944
computadora electromecánica de 16 metros de largo
y más de dos de alto que podía realizar las cuatro
operaciones básicas y trabajar con información
almacenada en forma de tablas
Grace Hopper Primera programadora que utilizó el Mark I 1945
John W. Mauchly Junto a John Presper Eckert desarrolló una 1946
computadora electrónica completamente
operacional a gran escala llamada Electronic
Numerical Integrator And Computer (ENIAC)
John Von Neumann Propuso guardar en memoria no solo la 1946
información, sino también los programas,
acelerando los procesos

Luego los avances en las ciencias informáticas han sido muy acelerados, se reemplazaron los
tubos de vacío por transistores en 1958 y en el mismo año, se sustituyeron por circuitos
integrados, y en 1961 se miniaturizaron en chips de silicio. En 1971 apareció el primer
microprocesador de Intel; y en 1973 el primer sistema operativo CP/M. El primer computador
personal es comercializado por IBM en el año 1980.
2
Fuente: Meatze.

8 Capítulo 1. Introducción
Aprende Python

Figura 3: Cronología de los lenguajes de programación más destacados

12 Capítulo 1. Introducción
Aprende Python

Figura 4: Grandes empresas y organismos que usan Python

Figura 5: Índice TIOBE 2023

16 Capítulo 1. Introducción
Aprende Python

• 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.
• Espaciado es mejor que denso.
• La legibilidad es importante.
• Los casos especiales no son lo suficientemente especiales como para romper las reglas.
• Sin embargo la practicidad le gana a la pureza.
• Los errores nunca deberían pasar silenciosamente.
• A menos que se silencien explícitamente.
• Frente a la ambigüedad, evitar la tentación de adivinar.
• Debería haber una, y preferiblemente solo una, manera obvia de hacerlo.
• A pesar de que esa manera no sea obvia a menos que seas Holandés.
• Ahora es mejor que nunca.
• A pesar de que nunca es muchas veces mejor que ahora 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 son una gran idea, ¡tengamos más de esos!
Ver también:
Si quieres darle un toque a tu escritorio, puedes descargar este fondo de pantalla del Zen de
Python que queda muy chulo.

1.3.6 Consejos para programar

Un listado de consejos muy interesantes cuando nos enfrentamos a la programación, basados


en la experiencia de @codewithvoid:
1. Escribir código es el último paso del proceso.
2. Para resolver problemas: pizarra mejor que teclado.
3. Escribir código sin planificar = estrés.
4. Pareces más inteligente siendo claro, no siendo listo.

20 Capítulo 1. Introducción
Aprende Python

2.1 Thonny

Thonny es un programa muy interesante para empezar a aprender Python, ya que engloba
tres de las herramientas fundamentales para trabajar con el lenguaje: intérprete, editor y
depurador.1
Cuando vamos a trabajar con Python debemos tener instalado, como mínimo, un intérprete
del lenguaje (para otros lenguajes sería un compilador). El intérprete nos permitirá
ejecutar nuestro código para obtener los resultados deseados. La idea del intéprete es lanzar
instrucciones «sueltas» para probar determinados aspectos.
Pero normalmente queremos ir un poco más allá y poder escribir programas algo más largos,
por lo que también necesitaremos un editor. Un editor es un programa que nos permite
crear ficheros de código (en nuestro caso con extensión *.py), que luego son ejecutados por
el intérprete.
Hay otra herramienta interesante dentro del entorno de desarrollo que sería el depurador.
Lo podemos encontrar habitualmente en la bibliografía por su nombre inglés debugger.
Es el módulo que nos permite ejecutar paso a paso nuestro código y visualizar qué está
ocurriendo en cada momento. Se suele usar normalmente para encontrar fallos (bugs) en
nuestros programas y poder solucionarlos (debug/fix).
Cuando nos encontramos con un programa que proporciona estas funciones (e incluso otras
adicionales) para el trabajo de programación, nos referimos a él como un Entorno Integrado de
Desarrollo, conocido popularmente por sus siglas en inglés IDE (por Integrated Development
1
Foto original de portada por freddie marriage en Unsplash.

24 Capítulo 2. Entornos de desarrollo


Aprende Python

sesión de depuración y podemos avanzar instrucción por instrucción usando la tecla F7:

Figura 3: Depurando nuestro primer programa en Python

2.2 Contexto real

Hemos visto que Thonny es una herramienta especialmente diseñada para el aprendizaje de
Python, integrando diferentes módulos que facilitan su gestión. Si bien lo podemos utilizar

28 Capítulo 2. Entornos de desarrollo


Aprende Python

(proviene de la página anterior)


$ (env1) ~/project1 > deactivate
$ ~/project1 > workon env1
$ (env1) ~/project1 > lssitepackages
__pycache__ distutils-precedence.pth pkg_resources ␣
˓→urllib3-1.25.10.dist-info

_distutils_hack easy_install.py requests ␣


˓→wheel

certifi idna requests-2.24.0.dist-info ␣


˓→wheel-0.34.2.dist-info

certifi-2020.6.20.dist-info idna-2.10.dist-info setuptools


chardet pip setuptools-49.3.2.dist-info
chardet-3.0.4.dist-info pip-20.2.2.dist-info urllib3
$ (env1) ~/project1 >

• $ mkvirtualenv env1: crea un entorno virtual llamado env1


• $ pip install requests: instala el paquete requests dentro del entorno virtual env1
• $ workon env1: activa el entorno virtual env1
• $ lssitepackages: lista los paquetes instalados en el entorno virtual activo

pyenv

pyenv permite cambiar fácilmente entre múltiples versiones de Python en un mismo sistema.
Su instalación engloba varios pasos y está bien explicada en la página del proyecto.
La mayor diferencia con respecto a virtualenv es que no instala las distintas versiones de
Python a nivel global del sistema. En vez de eso, se suele crear una carpeta .pyenv en el
HOME del usuario, donde todo está aislado sin generar intrusión en el sistema operativo.
Podemos hacer cosas como:
• Listar las versiones de Python instaladas:

$ pyenv versions
3.7.4
* 3.5.0 (set by /Users/yuu/.pyenv/version)
miniconda3-3.16.0
pypy-2.6.0

• Descubrir la versión global «activa» de Python:

$ python --version
Python 3.5.0

• Cambiar la versión global «activa» de Python:

32 Capítulo 2. Entornos de desarrollo


Aprende Python

Linux nativo. Es importante también saber que existen dos versiones de WSL hoy en día:
WSL y WSL2. La segunda es bastante reciente (publicada a mediados de 2019), tiene mejor
rendimiento y se adhiere más al comportamiento de un Linux nativo.
Para la instalación de WSL7 hay que seguir los siguientes pasos:
1. Lanzamos Powershell con permisos de administrador.
2. Activamos la característica de WSL:

$ Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-


˓→Subsystem-Linux

3. Descargamos la imagen de Ubuntu 20.04 que usaremos:

$ Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -


˓→UseBasicParsing

4. Finalmente, la instalamos:

$ Add-AppxPackage .\Ubuntu.appx

En este punto, WSL debería estar instalado correctamente, y debería también aparecer en
el menú Inicio.

7
Tutorial de instalación de WSL.

36 Capítulo 2. Entornos de desarrollo


Aprende Python

Figura 5: Apertura del fichero a depurar

Figura 6: Punto de ruptura

40 Capítulo 2. Entornos de desarrollo

También podría gustarte