¿Qué es Python?

Python es un lenguaje de programación: es decir, toma el texto que has escrito (usualmente referido como código), lo convierte en instrucciones para tu computadora, y ejecuta esas instrucciones.

Es uno de los lenguages más populares como puede verse en el portal educativo Coursera, que junto con edX ofrecen cursos que te conviene mirar.

En programa es un algoritmo que resuelve un problema (una pregunta).El resultado de la ejecución de un programa dependerá de lo que hayas escrito en ese código.

Por ejemplo:

print("Me daría su nombre, por favor")
nombre = input()
print(f"Usted ha escrito {nombre}")

En este ejemplo, simplemente le pedimos el nombre a un usuario y, una vez que lo escribe, lo imprimimos en la consola.

Donde o cómo escribir el código

Un editor, tales como el block de notas, sublime text, visual studio code, etc., permiten leer y escribir código.

Hay editores que facilitan esta tarea, como visual studio code y otros editores donde es menos aconsejable escribir programas, e.g., block de notas o word.

También es posible escribir código directamente en la consola o terminal, lo que se conoce como el operating system console.

La consola o terminal

Una consola (o ‘terminal’, o ‘command prompt’) es una forma textual de interactuar con tu OS -operating system-, así­ como el ‘escritorio’, junto con tu ratón, es la forma gráfica de interactuar con tu sistema.

Lo que ustedes ven cuando usan Windows o Mac OS es lo que se conoce como una interface gráfica (GUI) que permite de manera sencilla interactual con el ordenador.

Pero es posible trabajar directamente con la terminal -o linea de comandos- lo que permite, para cierto tipo de tareas, ser más eficiente.

Mac OS X

La consola estándar de OS X es un programa llamado Terminal.

Para abrir Terminal, ve a Aplicaciones, luego a Utilidades y haz doble clic en el programa Terminal.

La lí­nea de comandos Terminal es una herramienta para interactuar con tu ordenador. Se abrirá una ventana con un mensaje de lí­nea de comandos, algo así­:

mycomputer:~ myusername$

Windows

La consola de Windows se llama command prompt.

Una forma fácil de acceder a ella es utilizar la combinación de teclas Windows+R (Windows significa el botón del logotipo de Windows), que deberí­a abrir un cuadro de diálogo Ejecutar.

A continuación, escriba cmd y pulse Intro o haga clic en Aceptar. Deberí­a verse algo parecido a

c:\Users\myusername>

Terminal commands

Son comandos que permiten trabajar directamente en la terminal.

Por ejemplo, escribir en la terminal de Mac ls (una ele y una ese), o en la de Windows dir para ver la lista de archivos o directorios que tenemos en esta ubicación.

Los comandos para Windows los podemos ver, por ejemplo, tecleando aquí­

En Mac Os, ver, por ejemplo aquí­

Alternativa: trababar en Jupyter Notebook

En este curso trabajaremos con una alternativa a lo anterior, llamada Jupyter Notebook

La Jupyter Notebook App es una aplicación servidor-cliente que permite editar y ejecutar códigos del notebook a través de un navegador web. Esta aplicación puede ejecutarse en un escritorio local que no requiera acceso a Internet.

La forma más popular de instalar JN es mediante el distribuidor ANACONDA

Anaconda contiene un GUI, Anaconda Navigator, que permite directamente trabajar con Jupyter Notebook.

Alternativamente, podremos abrir JN utilizando la terminal, en la lí­nea de comandos.

A continuación se darán las indicaciones básicas para instalar Anaconda.


Instalar Python mediante Anaconda


Como deciamos antes, para trabajar en Python hay varias alternativas: trabajar interactiva en el interpretador de Python (REPL environment), lo que implica iniciar el interprete y tipear directamente los comandos.

También es posible trabajar mediante desarrollos integrados, Integrated Development Environments -IDE- que facilitan el trabajo, e.g., colorean los comandos (e.g., sublime text).

El problema con estas alternativas es que el usuario debe instalar las dependencias entre los distintos módulos de Python.

Por ello, para manejar estos paquetes y sus dependencias, en este curso aconsejamos instalar Anaconda Python

Esta aplicación permite obtener acceso a la mayorí­a de los paquetes que se van a utilizar sin tener que configuar las dependencias entre los mismos.

Se puede download la última versión de Anaconda o buscar directamente en google Anaconda Python e instalar Individual Edition.

Es importante seguir las instrucciones de Anaconda para instalar correctamente el software en vuestro ordenador.


Windows


Usar Anaconda installer guide for Windows

Se puede instalar `anaconda` en el `PATH` del sistema, pero esto puede afectar a otras aplicaciones que utilizan `python` a travez de Windows.


Por ello es recomendable usar el `Anaconda Prompt` que provee el instalador. 

Anaconda

En caso de no estar seguro, dejarlo sin quiclear.

Empezar a utilizar Anaconda

En el curso veremos cómo trabajar con JN.

Sin embargo, siempre es recomendable mirar los manuales y ver qué es y como se utiliza.

Anaconda Starting Guide

En este curso usaremos Jupyter Notebooks que viene con Anaconda. Por tanto, si ya han completado la instalación de Anaconda, entonces tienen Jupyteren vuestro sistema.

En caso de algíún problema, el primer lugar a buscar es en la documentación de jupyter

Entrando a Jupyter Notebook

Jupyter Notebook se ha convertido en una de las herramientas más utilizadas en el análisis de datos, ya que facilita:

  1. Escribir y ejecutar código
  2. Escribir comentarios
El lenguage R también tiene herramientas muy potentes, com RStudio y Rmarkdown, por ejemplo.

La notebook está compuesta de celdas (cells) de texto, i.e., Markdown o de código, i.e. Code:

  1. Una Markdown Cell permite escribir texto en varios formatos, e.g., markdown, html, latex, insertar figuras etc.

  2. Una Code Cell permite ejecutar código relacionado con el kernel con el cuál se ha iniciado la notebook, e.g., permite ejectuar R si se inicia con R.

Iniciando Jupyter Notebook

Jupyter es un servidor que se ejecuta en vuestro ordenador y conecta una interfase html con programming language kernels (como python) para ejecutar código y reportar resulados.

Habría 4 maneras de abrir un cuaderno Jupyter:¶

1.- Menú de inicio de Windows

Anaconda

2.- Navegador de Anaconda

Anaconda

macOS

Jupyter puede abrirse usando el GUI que viene con Anaconda siguiendo:

  1. Abrir Finder y elegir Applications
  2. Clickear Anaconda Navigator

y esto deberí­a abrir:

Anaconda

Clickeando en Jupyter Notebook se abrirá un browser con un jupyter notebook home page.

3.- Desde el Anaconda Prompt

Anaconda

Cuando le damos a esta opción, aparece la terminal

Anaconda

que no se ve muy bien, pero pone algo como

(base) c:user\username>

Una vez abierta la terminal, escribimos

(base) c:user\username>jupyter notebook

4.- Directamente del cmd promptzsi el directorio de Python está configurado en las variables del entorno (ver)

`Jupyter Lab` también está disponible. Si bien es más comprensivo, nosotros usaremos `jupyter notebooks` ya que es más simple. Una vez iniciados, pueden jugar con `Jupyter Lab`.
macOS

Usar terminal siguendo:

  1. Finder para abrir Applications/Utilities/Terminal, o
  2. Spotlight para buscar terminal
  3. Type jupyter notebook to launch a jupyter notebook server:
Se puede cambiar de directorio `change directory` a donde se encuentran las notebooks
antes de lansar el servidor. Esto hace que sea más fácil acceder a las notebooks.

Abriendo y creando un Notebook: terminación ipynb

Una vez que tenemos el servidor de jupyter corriendo, veremos lo siguiente:

Anaconda

y esto es un file navigator view, por lo que se puede navegar a un fichero o cambier el directorio si se quiere buscar el working directory containing notebooks

Si se clickea en New:

Anaconda

y se elige como kernel Python, se abrirá un nueva notebook en otro tab:

Anaconda

.

Escribir en la celda:

print("Econometrí­a Doble Grado ADE-Derecho")

y use Command + Enter (mac) o Alt-Enter (win) para ejecutar el código

Anaconda

.

Ejercicios

Vamos a hacer unos ejercicios para ejercitarnos con Jupyter Notebooks

Ejercicio 1

Ver Jupyter notebook documentation

Preguntas:

1.1.- ¿Cuál es la terminación de un fichero creado con jupyter notebook?

1.2.- ¿Qué es una celda y qué tres tipos de celdas hay?

1.3.- Abrir un Jupiter Notebook y escribir vuestro nombre en una celda Markdown

Ejercicio 2

Mirar lo que son Markdown cells

y entender para qué sirven.

Ejercicio 3

Abrir un jupyter notebook, elegir New, usar python3 (o python) como vuestro lenguage.

En la primera celda, clickear en ella para activarla y escribir:

print("Hello World")

esto es un code-cell y para ejecutarlo, teclear Alt-Enter.

Ahora provemos, en una nueva celda, escribir lo siguiente:

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 200)
y = np.sin(x)

plt.plot(x, y, 'b-', linewidth=2)
plt.show()

1.- Qué está haciendo en cada linea. python es relativamente comprensible en lo que va haciendo linea a linea.

2.- Ejecutar el código de la celda.

Ver otras referencias

Tutorial Jupyter