Clase 1 Python-Introducción
Clase 1 Python-Introducción
Clase 1 Python-Introducción
Existen muchos lenguajes de programación, esto es, como dijimos, medios de comunicación
entre un programador y una computadora. Cada uno de ellos se caracteriza por algo en
particular: en el proceso de “instruir” a una máquina para que ejecute las acciones que le
indicamos, algunos lenguajes son más óptimos o acordes que otros para tal o cual tarea. Así,
ciertos lenguajes están pensados para “hablarle” a un celular; otros, a una computadora de
escritorio; otros, a un microondas. Y algunos son más fáciles de aprender, del mismo modo
como decimos que el griego y el árabe son menos accesibles que el inglés. El inglés, no
obstante, es más acorde si nos queremos dedicar al comercio internacional; así como el
griego lo es para el estudio de los pensadores clásicos de la antigüedad.
Pero seamos un poco más precisos: no es cierto que las computadoras comprendan las
instrucciones que les comunicamos vía un lenguaje de programación. De hecho, solo están
diseñadas para entender un dialecto al que se denomina código máquina. Pero escribir un
conjunto de instrucciones directamente en este código es simplemente imposible para un
hombre. Por ende, necesitaremos un “traductor” (que no es sino un programa) que convierta
nuestras instrucciones escritas según las reglas de un lenguaje de programación en
particular a código máquina.
Python es un lenguaje que se caracteriza por tener una sintaxis sencilla (fácil de aprender
para legos en programación) y clara (elocuente y de lectura fluida). Por ello resulta una
herramienta ideal para iniciarse en esto de la programación. Pero independientemente del
lenguaje que usaremos en este curso, lo más importante es que aprenderemos conceptos
generales de la programación (aunque claro, con las particularidades de Python), que se
aplicarán igualmente para otros. Así como aprender un segundo idioma es más sencillo
habiendo dominado nuestra lengua materna, del mismo modo ocurre en el mundo de la
programación. Y no es de extrañar que una misma persona, con el tiempo, acabe versada en
varios lenguajes de programación; aunque por lo general uno termina tomando una decisión
según sus propios gustos y especializándose en alguno en particular.
Para finalizar este apartado, precisemos una clasificación que nos será útil para poder
avanzar. Ya dijimos que un programa o aplicación es un conjunto de instrucciones escritas
según las reglas de un lenguaje de programación. Si bien existen varios tipos de
aplicaciones, en este curso estaremos trabajando con los siguientes dos:
● Aplicaciones de consola
● Aplicaciones de escritorio
Por el momento basta con saber que en Python los programas son, por defecto, aplicaciones
de consola.
Estructura de un programa
Me permito usar la siguiente analogía (harto trillada): escribir un programa (i.e. programar)
es como redactar una receta de cocina. La diferencia es que quien escribe es un
programador y quien “cocina”, una máquina. Las computadoras, a diferencia de los
cocineros, nunca se equivocan al interpretar una “receta”. Siempre hacen lo que le decimos,
al pie de la letra. Todos los problemas que surgen en la industria del software radican en
creer que le estamos indicando una actividad X a una máquina cuando, en realidad,
programamos una actividad Y. Esto es, cuando hay una disociación entre lo que le “decimos”
y lo que quisimos decir.
De esta primera definición se sigue que podemos escribir un programa tanto en un pizarrón
como en un programa pensado para esa tarea (al que llamamos editor de código) . Las
instrucciones de los programas tienen una disposición similar a la del español: se interpretan
de arriba a abajo y de izquierda a derecha. Aunque a veces podemos indicarle que queremos
que tal instrucción o conjunto de instrucciones se ejecute dos o más veces, o que en
ocasiones no se ejecute, o que se vuelva a la primera instrucción, entre otras cosas
similares. Este recorrido del código (entendemos código por conjuntos de instrucciones) que
hace una máquina al interpretarlo se denomina flujo de un programa.
Si bien hemos omitido algunos pasos (por ejemplo, qué ocurre si el resultado del paso 3 es
negativo) la idea es ilustrar las distintas operaciones que conforman un algoritmo y el orden
en el que están dispuestas.
Al momento en que escribimos este material, la última versión estable de Python es la 3.7.0.
Como el lenguaje se actualiza con bastante frecuencia, es probable que actualmente en el
segundo recuadro aparezca una versión más reciente, así que puedes descargarla sin
problemas.
Esto evitará problemas de configuración con el editor de código más adelante. Segundo,
presionaremos Customize installation para seleccionar la ubicación en donde queremos
instalar Python. Luego presionamos Next hasta que nos aparezca la siguiente pantalla:
Allí modificaremos la ruta señalada en la imagen para instalar Python en una ubicación
cómoda tal como C:\Python37 (o bien el número que corresponda a la versión que hayas
instalado). Por último presionamos Install y esperamos a que finalice.
Ahora bien, dijimos que podemos escribir código en el lugar que se nos ocurra, pero existen
algunos programas pensados específicamente para esta tarea que nos ayudarán bastante al
momento de programar. Se conocen como editores de código. A veces se los distingue de los
entornos de desarrollo integrado (IDE, por sus siglas en inglés): aplicaciones más completas
que, además de un editor de código, incluyen otras herramientas como sistemas para
trabajar en proyectos grupales con otros programadores.
El editor de código con el que trabajaremos en este curso es Geany, el cual vamos a
descargar desde la página oficial (geany.org). En este caso, la instalación no requiere
ninguna modificación.
Hecho esto, como queremos empezar de cero, vamos a borrar todo el contenido y a guardar
el archivo en el escritorio como hola.py. Una vez hecho esto, escribiremos lo siguiente:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print("Hola mundo")
Por último, presionamos el botón Ejecutar o bien la tecla F5 y deberemos ver lo siguiente:
¡Excelente! Hemos creado nuestro primer programa en Python. Lo que estamos viendo en
pantalla se llama consola o terminal, puesto que dijimos que, por defecto, los programas en
Python eran aplicaciones de consola.
Las primeras dos líneas que escribimos no nos interesan por el momento, simplemente basta
con saber que todo programa de Python debe comenzar con éstas. La tercera:
print("Hola mundo")
le indica a Python que debe mostrar (“imprimir”, print) en consola el texto que indicamos
entre paréntesis y entre comillas dobles. Intenta cambiando el mensaje para que el
programa imprima otros textos. El resto del texto de la consola que vemos debajo de “Hola
mundo” es información que agrega automáticamente Geany.
Todos los programas ─independientemente del lenguaje en los que estén escritos─ se
cierran automáticamente cuando ya no hay más código por ejecutarse. En el caso de Python,
las instrucciones (que por lo general habrá una por línea) son leídas y ejecutadas por el
intérprete de arriba hacia abajo y de izquierda a derecha. Cuando se ejecuta la última línea
de código, el programa termina.
Podemos observar este comportamiento claramente al hacer doble clic sobre nuestro archivo
hola.py (en lugar de ejecutarlo desde Geany). Veremos que el programa se ejecuta y cierra
casi instantáneamente. Geany y otros editores de código evitan cerrar la consola una vez
terminado el programa, de modo que podemos ver todo lo que haya impreso en pantalla (vía
la instrucción print) incluso una vez finalizado.
La terminal, línea de comandos o símbolo del sistema (este es el nombre que recibe en
sistemas Microsoft Windows; los usaremos todos indistintamente) es una aplicación de
consola integrada al sistema operativo que permite ejecutar determinadas tareas a través de
comandos o bien invocar otros programas de consola. Habida cuenta de esto último,
entonces, con la terminal tenemos un tercer método para ejecutar scripts de Python.
Para abrir la terminal en Windows vamos a buscar el programa llamado Símbolo del sistema,
o bien presionar las teclas Windows + R, escribir “cmd” (sin comillas) y presionar Enter.
Veremos algo similar a lo siguiente:
La terminal está ahora expectante a que ingresemos algún comando o invoquemos una
aplicación de consola. Estas operaciones se realizan siempre desde una ubicación en
particular del sistema de archivos. Por ejemplo, en la imagen, se muestra que la línea de
comandos está ubicada en la ruta C:\Users\Pc Usuario. Para cambiar nuestra ubicación al
escritorio vamos a usar el comando cd seguido de la ruta a la que nos queremos mover. Para
ello escribimos cd Desktop ─esto es, cambiar el directorio (ch
ange d
irectory) actual a la
carpeta “Desktop” (el escritorio)─ y presionamos Enter.
Cuando queremos movernos a una ruta que contiene espacios, debemos usar las comillas.
Por ejemplo:
cd “C:\Archivos de programa\Geany”
Si bien en este curso rara vez estaremos corriendo nuestros archivos de código de fuente
desde la línea de comandos (lo haremos, más bien, siempre desde Geany), es importante
tener un conocimiento básico de ella tanto para Python como para cualquier otro lenguaje de
programación.
Expresiones
Avancemos un poco más con el diseño del código. Todos los lenguajes de programación
tienen la capacidad de ejecutar operaciones matemáticas simples (suma, resta,
multiplicación, división); es decir, incorporan una suerte de calculadora virtual que podemos
usar en nuestros programas para hacer este tipo de operaciones. La sintaxis (por sintaxis
entendemos el orden y la relación de los términos de un lenguaje necesarios para que una
instrucción sea comprendida) para realizar una suma en Python es similar a la que usamos
en matemática para expresar dicha operación.
7 + 5
Esto que acabamos de escribir es un código de Python perfectamente válido al igual que lo
era print("Hola mundo"). De hecho, modifiquemos nuestro programa hola.py para que
ahora contenga el siguiente código (recuerda que debemos mantener siempre las primeras
dos líneas que mencionamos en el apartado “Nuestro primer programa”):
7 + 5
print("Hola mundo")
Al ejecutarse, este código realiza dos operaciones en el orden en que las dispusimos:
primero ejecuta la suma 7 + 5 y luego imprime en pantalla el mensaje “Hola mundo”. ¡No
esperes ver el resultado de la suma en pantalla! No, Python no hace nada que no le hayamos
indicado; y, en efecto, simplemente le hemos dicho “resuelve 7 + 5” pero no hicimos
mención alguna sobre qué debe hacer con ese resultado. Vayamos un poco más allá,
entonces, y digámosle que lo imprima en la pantalla:
print(7 + 5)
print("Hola mundo")
12
Hola mundo
Todo lo que pongamos dentro de los paréntesis en una instrucción print será enviado a la
consola. Ahora bien, ¿por qué utilizamos comillas en el segundo caso y no en el primero? Por
el momento basta con saber que las comillas permiten que un conjunto de caracteres sea
interpretado de forma literal y no como código de Python.
print("7 + 5")
print("Hola mundo")
imprime:
7+5
Hola mundo
En este caso, "7 + 5" es interpretado como un texto en lugar de una operación que Python
deba ejecutar, puesto que está encerrado entre comillas. Precisaremos un poco más estas
cuestiones en la próxima clase.
Volviendo a nuestro primer ejemplo, del código 7 + 5 decimos que es una expresión. Una
expresión es un fragmento de código que retorna un resultado. Por “retornar” no
entendemos más que lo siguiente: el lenguaje reemplazará ese fragmento de código por su
resultado.
Así, en todas las partes del código en donde aparezca 7 + 5, por cuanto se trata de una
expresión, el lenguaje lo reemplazará por 12. El código:
print(7 + 5)
es similar a:
print(12)
(Nótese que el término “reemplazar” es usado aquí con fines didácticos para comprender el
concepto de expresión; en realidad, el proceso de evaluación de todas las expresiones que
aparecen en un código es un tanto más complejo).
Variables
Ahora que sabemos lo que es una expresión, el concepto que aquí nos ocupa se torna más
sencillo: una variable es el nombre que se le otorga a una expresión. La sintaxis para crear
una variable es la siguiente:
variable = expresión
Donde variable es un nombre cualquiera (escrito, por convención, siempre en minúscula) y
expresión otra expresión cualquiera que queramos nombrar. Por ejemplo:
a = 7 + 5
a = 7 + 5
print(a)
a = 7 + 5
print(a + 10)
a = 7 + 5
b = a + 10
print(b)
Otros ejemplos:
a = 12
saludo = "Hola mundo"
print(a)
print(saludo)
Las variables son en sí mismas expresiones, por lo que a ellas también se le aplica lo que
dijimos respecto de estas últimas: siguiendo el ejemplo, Python reemplazará a por 12 en
toda ocurrencia de a y saludo por "Hola mundo" en toda ocurrencia de saludo.
La consola interactiva
La consola interactiva, al igual que Geany, nos permite escribir código de Python pero sin la
necesidad de guardarlo en un archivo .py. En cambio, el código se ejecuta instantáneamente
a medida que lo vamos escribiendo.
Para abrir la consola interactiva debemos ejecutar el programa llamado Python (command
line), o bien presionar las teclas Windows + R y escribir “python” (sin comillas).
Los caracteres “>>>” nos indican que ingresemos un código de Python. Ejecutemos, por
ejemplo, el ya aprendido print("Hola mundo") escribiéndolo en la consola y presionando
Enter. Veremos que el resultado es el siguiente:
>>> 7 + 5
12
De este modo, la consola interactiva resulta ideal para hacer pruebas de pequeños códigos y,
en caso de ser expresiones, ver sus resultados. También se permite crear variables, como
vimos en el apartado anterior, y conocer sus valores:
>>> a = 7 + 5
>>> b = a + 10
>>> a
12
>>> b
22
A partir de ahora, siempre que veas los caracteres “>>>”, estaremos queriendo decir que el
código debe ejecutarse en la consola interactiva.
Conclusión
En prácticamente todo programa de Python, por más pequeño que sea, estaremos usando
variables y expresiones. Es importante tener bien en claro sus conceptos y cómo funcionan
para poder seguir avanzando con el lenguaje. Recuerda que una expresión es una porción de
código de Python que retorna algún valor determinado (por ejemplo, 7 + 5, que retorna 12),
y que las variables son nombres que potencialmente le damos a esas expresiones (e.g., a =
7 + 5).