Modulo 1. Introducción A Python - 2020
Modulo 1. Introducción A Python - 2020
Contenido
Conceptos generales ..................................................................................................................... 3
Introducción y advertencia ........................................................................................................... 4
Software Libre .............................................................................................................................. 5
La línea de comandos ................................................................................................................... 6
Línea de comandos en Linux y Apple .......................................................................................... 6
Línea de comandos en Windows .................................................................................................. 7
Anaconda ...................................................................................................................................... 8
Instalar Anaconda ......................................................................................................................... 8
¿Qué versión debería instalar?...................................................................................................... 9
¿Cómo instalo Python en mi ordenador?.................................................................................... 10
Una vez instalado ....................................................................................................................... 14
El IDLE ...................................................................................................................................... 15
Nuestro primer programa ........................................................................................................... 22
¿Qué debería haber conseguido esta semana? ............................................................................ 25
Conceptos generales
Python es un lenguaje de programación creado por Guido van Rossum a principios de los años 90 para
administración de sistemas operativos, en concreto de uno olvidado denominado Amoeba.
Como tal es un lenguaje interpretado, dirigido a objetos, y limpio por usar en su sintaxis el mínimo de
caracteres innecesarios. Por eso mismo es un lenguaje claro muy adecuado como primer lenguaje de
programación, aunque es actualmente un lenguaje maduro que se puede usar para todo tipo de
aplicaciones, desde aplicaciones web hasta temas relacionado con la bioinformática.
Por otro lado, se trata de un lenguaje de tipado dinámico, es decir, que los tipos se asignan a las
variables durante el uso de las mismas, y no durante la escritura o compilación de los programas. Por
eso es muy fácil trabajar con él, y crear programas flexibles, que se modifiquen sobre la marcha.
Hoy en día se le conoce tanto por su patrocinio por parte de Google, que contrató a Guido van Rossum,
como por su uso dentro del Google AppSpot o del entorno de aplicaciones Django, de gran aplicación
para la creación de portales y aplicaciones basadas en la web. También se usa como lenguaje de
creación de aplicaciones en móviles, o para dispositivos empotrados.
En resumen, un lenguaje ameno, fácil de aprender, pero también potente y expresivo. Esperamos que
os resulte útil.
Introducción y advertencia
Python es un lenguaje interpretado, y como tal, lo que se instala es una aplicación que necesitarás
cargar cada vez que quieras ejecutar un programa en tal lenguaje. No es un entorno de programación;
es decir, no es un entorno completo que te permita editar, ejecutar, depurar el programa y demás. Para
eso existen diferentes opciones que veremos más adelante.
Con esto lo que quiero decir es que, una vez instalado, al pinchar en el icono que diga "Python" no va
a hacer nada salvo sacar una línea de órdenes (dependiendo del sistema operativo); sí se ejecutará el
intérprete automáticamente cuando se pulse el ratón sobre un programa escrito en Python (con la
extensión .py), pero lo más probable es que, tratándose de programas que se ejecutan en el intérprete
de órdenes, no se vea nada. Concluyendo: una vez instalado no te lances a ejecutar nada, espera a
escribir tu primer programa en Python y entonces comprobarás si funciona todo correctamente (que
debería hacerlo).
Aunque se puede usar cualquier plataforma capaz de ejecutar un editor de textos y un intérprete de
Python para seguir este curso, las instrucciones que dependan de un sistema operativo, cuando han
sido necesarias, se han dado para Linux, Windows y Mac OS.
En cualquier caso, si conoces Linux, se recomienda encarecidamente el uso de este sistema operativo.
Primero porque Linux es una familia de sistemas operativos que, al igual que el propio Python, son
software libre y casi siempre gratuitos.
NOTA: Adicionalmente y por la misma razón, todos los programas que se recomiendan en este curso
son también software libre y gratuitos.
Segundo porque los sistemas Linux traen "de serie" todas las herramientas necesarias para la
programación. Al contrario que sistemas comerciales más orientados al usuario doméstico o de oficina,
Linux es por sí mismo una completa plataforma de desarrollo.
De todos modos, si prefieres usar otro sistema, Python funciona perfectamente en cualquiera de ellos
y todos los ejemplos y explicaciones de este libro están pensados para adecuarse perfectamente a todas
las plataformas.
Software Libre
Aunque en español la palabra libre no tiene tantas connotaciones como la inglesa free, lo cierto es que
hablar de libre tiene cierta ambigüedad: hablamos de software libre como hablamos del sol cuando
amanece, no como cuando hablamos de que hay barra libre ni buffet libre. La idea del software libre,
la principal, es exactamente eso, que sea libre, no que sea gratis. Por eso, la definición canónica de
software libre incluye cuatro libertades
- La libertad de usar el software de cualquier modo que consideremos razonable.
- La libertad de estudiar cómo funciona el programa, para lo cual hay que tener acceso al código fuente.
- La libertad de redistribuir copias como uno considere conveniente. Lo que implica el poder acceder
gratis a esas copias; sin embargo, en sentido estricto, esto es un derecho, no una obligación, por lo que
quien adquiere software libre no tiene por qué hacer disponible para todo el mundo esas copias. Sin
embargo, quien libera el software, como es natural, debe hacerlo.
- La libertad de distribuir copias modificadas, para lo cual es condición necesaria la segunda libertad.
Ciertamente una de las libertades más importantes es la segunda, por eso se identifica el software libre
con el software de fuentes abiertas. En realidad, la diferencia es sólo de énfasis (el SL hace énfasis en
la libertad, el de fuentes abiertas en las buenas prácticas asociadas al desarrollo con fuentes abiertas),
pero en la práctica son casi lo mismo y lo utilizaremos de forma indistinta dentro de este curso.
Por otro lado, la creación de software libre tiene una importancia vital dentro del ambiente
universitario; la investigación adquiere mucha más difusión si se acompaña la publicación de una
librería o aplicación de software libre, un alumno que libere sus prácticas tiene más posibilidades de
obtener buen resultado con las mismas, o si libera su proyecto fin de carrera es más posible que una
persona que quiera darle empleo lo vea y lo evalúe positivamente (aparte del hecho de que puede
conseguir mucha más repercusión en el mismo), y finalmente el software creado para la universidad,
si se libera, tiene más posibilidades de conseguir aportaciones de la comunidad y de tener un impacto
en el resto de las universidades, y permite que la labor de los servicios de informática (que son quienes
principalmente lo desarrollan) se divulgue dentro de la comunidad.
La línea de comandos
Para programar en Python o en cualquier otro lenguaje (y, por tanto, para este curso) es requisito
imprescindible tener ciertos conocimientos básicos del uso del terminal. El terminal es la forma más
eficiente de controlar el ordenador y, aunque al principio puede parecer complejo, es bastante fácil
tener un conocimiento básico.
No es posible programar sin conocer, aunque sea rudimentariamente la línea de comandos de nuestro
sistema operativo.
Para este curso sólo se necesita un conocimiento muy superficial, pero si se pretende seguir avanzado
en programación a partir de aquí, es necesario familiarizarse con ella.
La línea de comandos (para los efectos de este curso, “terminal”, “Línea de comandos” o “Línea de
órdenes” son sinónimos) nos da control sobre el ordenador que no es tan fácil de tener con el interfaz
gráfico. Adicionalmente, muchas herramientas de programación se usan por medio de la línea de
órdenes.
Dado que una introducción al uso de la línea de comandos se escapa de los objetivos de este curso,
aquí tienes unos recursos que te ayudarán a conocer los conceptos básicos. No son muy profundos,
pero no hace falta nada más avanzado para este curso.
Los siguientes recursos son muy básicos, pero, en principio, son suficientes para lo que se requiere en
este curso y que, básicamente, consiste en saber moverse por el árbol de directorios, saber ejecutar un
programa, etc.
Tanto todas las versiones de Linux como Apple tienen instalado algún emulador de terminal que usa
el intérprete de comandos Bash, que es el más habitual y conocido. Estos recursos pueden resultar
útiles:
https://comofriki.com/como-instalar-bash-de-linux-en-windows-10/
Si se opta por esta opción, los recursos indicados arriba también servirán para los usuarios de Windows.
En caso de que se prefiera usar en propio terminal de Windows, estos otros enlaces pueden resultar
útiles:
https://www.windowsnoticias.com/como-abrir-una-ventana-de-comandos-en-windows-10/
https://hipertextual.com/2017/07/comandos-consola-windows-cmd
http://www.it.uc3m.es/java/git-gisc/resources/windows-command-line/windows-command-line.html
Anaconda
Instalar Anaconda
El proceso de instalar Anaconda es muy simple, aunque varía ligeramente del sistema operativo que
utilicemos.
En la página principal de la web de Anaconda (https://www.anaconda.com/) en el apartado "Products
-> Individual Edition" del menú superior, hay un enlace a su apartado de descargas
(https://www.anaconda.com/products/individual) en el que podemos elegir versión y sistema
operativo.
Como sistema operativo debemos elegir el que estemos usando, y como versión elegiremos la más alta
que esté disponible (en este caso la 3.7).
Esto nos descargará el programa instalador, que debemos ejecutar para instalar Anaconda.
El instalador para Linux es un script sh, de modo que habrá que darle permiso de ejecución antes de
poder usarlo.
Al ejecutar el instalador de Anaconda, este nos pedirá algunas opciones de instalación (que, en
principio, podemos dejar en su valor por defecto). Dependiendo del sistema operativo y la capacidad
del ordenador, la instalación puede tardar un poco.
El programa instalará varias aplicaciones, la principal de las cuales es "Anaconda Navigator", que es
el programa que gestiona nuestra instalación de Anaconda, y que nos permitirá agregar, actualizar o
quitar programas de Anaconda, módulos de Python y toda una serie de utilidades que iremos viendo
poco a poco.
Una vez instalado, podemos ejecutar Anaconda Navigator para hacernos una idea de qué programas
nos vamos a encontrar.
Este curso está orientado a ser usado con Anaconda, pero está concebido para no depender de
Anaconda. Si por alguna razón no podemos o no queremos instalar Anaconda, podemos instalar las
utilidades y programas que necesitemos una a una independientemente (cosa que NO se recomienda).
En la página de descarga de Python hay varias versiones. Este curso está hecho pensando en la
versión 3.7 (actualmente, la 3.7.3), aconsejamos la instalación de esta versión, pero, como por diversos
motivos aún no está disponible para algunas versiones de algunos sistemas operativos, tienes la
posibilidad de instalar cualquier versión igual o superior a la 3.5, y será igualmente válida para los
objetivos de este curso. Las diferencias entre ambas versiones son mínimas a los efectos de este
curso.
Si como sistema operativo usas alguna distribución de Linux (cosa que recomendamos
encarecidamente), instalar una versión actualizada y completa de Python es tan simple como usar tu
gestor de paquetes favorito. En cualquier caso, lo más probable que ya esté instalado en la distribución
base: Ubuntu, Fedora, Guadalinex y otras ya lo incluyen por ser el lenguaje con el que se escriben
muchas de las aplicaciones base que llevan. El problema es que, normalmente, la versión que está
instalada por defecto es alguna basada en la 2.7, que no es la que vamos a usar en este curso.
Para comprobar qué versión de Python tenemos instalada es necesario abrir un intérprete de órdenes
(también llamado "emulador de terminal" o, simplemente, "terminal") y ejecutar el comando:
python –version
Este comando nos devolverá la versión exacta que tenemos instalada (algo así como Python 3.7.3).
(Lo que hace esta orden es ejecutar el comando "python" pasándole como parámetro la opción "--
version", que hace que Python se inicie, nos muestre su versión y finalice inmediatamente.)
Si ejecutar este comando nos muestra que tenemos la versión 2 de python (algo como Python 2.7.13)
todavía es posible que tengamos instaladas dos versiones de Python (una de Python 2 y otra de Python
3) simultáneamente.
Lo más fácil en este caso es probar también el comando
python3 --version
es el mismo comando de arriba, pero con "python3" en lugar de simplemente "python") y ver qué
respuesta nos da.
Es importante recordar que, si tenemos más de una versión de Python instalada, para este curso será
necesario usar aquella que corresponda con la versión 3 de Python.
Si no tenemos instalada la versión 3 de Python, tendremos que instalarla nosotros mismos.
Dependiendo de la distribución de Linux que tengamos podemos usar un gestor u otro de paquetes.
Algunos de ellos tienen un interfaz gráfico (con ventanas, botones y esas cosas) pero, normalmente, lo
más cómodo es usar la línea de comandos.
Por ejemplo, en sistemas del tipo Debian (Ubuntu, Linux Mint, etc.) podemos usar apt:
(hay que recordar que para instalar programas es necesario tener permisos de superusuario, por lo que
habrá que instalarlo mediante el usuario root o usando sudo)
En Windows o Macintosh hay que descargar alguna de las opciones que se presentan en la página de
descargas, teniendo en cuenta las observaciones hechas anteriormente.
En Windows 10 se sigue el proceso habitual en las instalaciones: ir haciendo click sobre "Next" hasta
que se indique que se ha instalado. El sistema operativo te hará diferentes advertencias sobre que estás
instalando un programa, a las que contestarás que sí, que por supuesto, que faltaría más. Si contestas
que no, no te lo va a instalar, así que tendrás que contestar que sí.
Es mejor marcar la casilla “Añadir Python al PATH”, nos ahorrará algún quebradero de cabeza más
tarde.
En realidad, no tiene ninguna complejidad, pero aquí tienes un video por si anduviéramos despistados:
https://www.youtube.com/watch?v=9fNKy9zOPkg
Lo que instalarás en la versión Windows 10 será un intérprete de línea de comandos, que aparecerá en
el menú como se muestra en la ilustración adjunta, con el texto Python (command line); es decir,
Python (línea de órdenes).
El resultado de la ejecución aparece arriba. Desde ahí se pueden ejecutar directamente órdenes en
Python, como veremos más adelante. También se instala un fichero de ayuda al que se puede acceder
desde el menú -> Todos los programas -> Python 3.6 -> Python Manuals (o Manuales de Python).
El paquete indicado anteriormente instala también un mini-entorno de desarrollo llamado IDLE, que
se puede ejecutar desde el menú anterior eligiendo IDLE. Es un pequeño envoltorio de la línea de
comandos, pero te permite cargar ficheros y salvarlos, al menos. Aunque no permite editar programas,
sí permite probar órdenes y tiene alguna facilidad adicional como la expansión del nombre de las
órdenes (pulsando tabulador). Se puede usar para hacer pruebas, o cuando se conozca más el lenguaje,
depurar programas.
En cuanto a otras plataformas, este wikilibro describe cómo hacerlo en un Mac; lo más probable es
que esté ya instalado (y que la versión sea la correcta), pero si no, puedes instalártelo desde la página
de descargas indicada anteriormente.
Python se puede instalar en un montón de plataformas más "exóticas", desde microcontroladores a
sistemas como Solaris. Puedes ver algunos aquí: https://www.python.org/download/other/
Y si no, siempre queda la opción (para expertos) de compilarlo a partir de su código fuente:
https://www.python.org/downloads/source/
Adicionalmente, existen distribuciones alternativas de Python dedicadas a tareas específicas, la más
interesante desde el punto de vista científico es Anaconda https://www.anaconda.com/distribution/
El intérprete no es lo único que necesitaremos. Para escribir programas hace falta un editor de texto.
Es importante distinguir un editor de texto, que es un programa para crear o modificar texto plano (esto
es, sin formato mis características especiales) de un procesador de textos que genera documentos
complejos, con diversos tipos de letra, títulos, negritas, etc.
Windows dispone del "Bloc de Notas", al igual que Mac tiene el "Text Edit". Ambos permiten guardar
documentos en texto plano o (también llamado a veces texto simple o texto normal), que es lo que
necesitamos para nuestros scripts en Python.
Lo malo es que son editores muy limitados.
Para que un editor de texto sea una herramienta de programación cómoda, lo mínimo que necesita es
características como mostrar el número de línea, iluminar el código (poner automáticamente en
distintos colores los diferentes elementos del lenguaje), utilidades para autocompletar el código
mientras se escribe o para pegar snipets (pequeños pedazos de código predefinidos), etc.
En el caso de Linux, casi cualquier editor de texto que tenga preinstalado tu distribución es adecuado
para iniciarse en la programación. Casi todos ellos disponen las características esenciales sin ser
demasiado complicados.
En entornos Linux como Debian o Ubuntu es muy habitual encontrar Gedit
[https://wiki.gnome.org/Apps/Gedit], que es software libre y es el editor de texto predefinido del
escritorio Gnome y tiene versiones para Linux, Windows y Mac.
En el wiki oficial de Python hay un extenso listado de editores para todas las plataformas y sus
características [https://wiki.python.org/moin/PythonEditors].
Los editores más especializados, conocidos como IDEs (Integrated Development Environments),
disponen además de herramientas más avanzadas como control de versiones, explorador de archivos,
debugger (para buscar y gestionar errores), gestor de proyectos, consola virtual, etc.
Aunque todo ello es a costa de ser más complejos de instalar, configurar y usar, y no se recomiendan
para el usuario menos avanzado.
Probablemente los dos IDEs más conocidos hoy día, que son además software libre y multiplataforma,
son Eclipse [http://www.eclipse.org/users/] y Netbeans [https://netbeans.org], aunque existen algunos
otros más especializados en Python como Ninja-IDE [http://ninja-ide.org/] o Pycharm
[https://www.jetbrains.com/pycharm/].
En particular, la distribución de Anaconda trae preinstalado “Spider” [https://www.spyder-ide.org/],
un completo, aunque simple e intuitivo editor para Python muy recomendable. Si no sabes cuál elegir,
esta es una muy buena opción.
Naturalmente, en el wiki oficial de Python también hay un extenso listado de IDEs, sus características
y ayuda para la configuración [https://wiki.python.org/moin/IntegratedDevelopmentEnvironments].
El IDLE
Como hemos visto, podemos usar cualquier editor de texto para escribir programas en Python, aunque
elegir uno especializado es una buena idea.
En Windows y Mac, al instalar Python, se añade automáticamente una aplicación llamada IDLE. En
sistemas Linux no tiene por qué estar instalada por defecto (depende de la distribución concreta
de Linux), pero se puede instalar fácilmente con cualquier gestor de paquetes como, por ejemplo,
en Sistemas tipo Debian o Ubuntu:
El IDLE (Integrated Development and Learning Environment) es un programa con interfaz gráfica (y
escrito en Python) que contiene varias utilidades para Python, como un intérprete en tiempo real (en
el que podemos escribir instrucciones de Python y ver sus resultados sobre la marcha), un editor de
texto sencillo y algunas otras herramientas, y es probablemente la mejor manera de comenzar a usar
Python.
Para iniciar el IDLE en sistemas UNIX sólo hay que ejecutar la orden idle3 en un terminal, aunque
la mayoría de sistemas tienen además un icono en sus menús de herramientas con la misma finalidad.
Al iniciar el IDLE por primera vez se nos mostrará una ventana con un Shell interactivo de Python
(esto puede cambiarse en la configuración del programa, por medio de la opción "Configure IDLE"
del menú "Options").
En esta ventana se muestra información de nuestra versión de Python y se nos presenta un prompt
consistente en tres símbolos de "mayor que" (>>>) en el que podemos escribir instrucciones de Python
y ejecutarlas una a una.
Cada vez que se ejecuta una orden (pulsando la tecla enter tras escribirla) Python nos muestra el retorno
de esa instrucción, el resultado de su ejecución.
El Shell de Python del IDLE puede ser muy útil para ejecutar comandos y ver su resultado, pero lo que
más usaremos será el editor de texto.
Para comenzar a escribir un nuevo programa, tenemos la opción "New file" del menú "File". Esto nos
abrirá una ventana del editor en blanco. También podemos abrir una ventana conteniendo un programa
ya existente con la opción "Open...".
La ventana del editor es muy similar a la del Shell, aunque algunos menús de la barra superior cambian
entre una y otra.
Este menú, como hemos visto, contiene opciones como "Open", que sirve para abrir un nuevo fichero
(lo que, como veremos un poco más adelante, inicia el editor de textos del IDLE) y "Open Module...",
que abre un archivo ya existente. La opción "Recent Files", por su parte, abre un desplegable con los
últimos archivos que se han editado (la primera vez, lógicamente, no muestra nada) y también permite
abrirlos.
El navegador de clases "Class Browser" es una herramienta muy útil, ya que dispone de un buscador
que nos permite abrir cualquier módulo de Python conociendo su nombre y nos lo muestra acompañado
de una ventana con sus clases, funciones, etc. La opción "Path Browser" es similar, pero explorando
un árbol de directorios en lugar de un buscador.
Los siguientes tres elementos del menú, "Save", "Save As" y "Save Copy As", permiten guardar el
trabajo realizado, guardarlo asignándole un nombre y guardar una copia con un nombre distinto al que
tiene.
"Print" imprimirá el contenido de la ventana y, por último "Close" y "Exit" cerraran la ventana con la
que estamos trabajando y todas las ventanas abiertas, respectivamente.
El siguiente menú, también presente tanto en el Shell como en el editor, es "Edit". Sus dos primeros
elementos, "Undo" y "Redo", sirven para deshacer la última acción y para volver a hacerla,
respectivamente.
"Cut" y "Copy" sirven para cortar un texto seleccionado y para copiarlo, mientras que "Paste" sirve
para pegar un texto previamente copiado en la posición actual del cursor. "Select All" selecciona todo
el contenido de la ventana.
"Find" abre un menú de diálogo que nos permite buscar el texto que deseemos en la ventana. "Find
Again" repite la última búsqueda realizada. "Find Selection" busca el texto que tengamos seleccionado
en ese momento, y "Find in Files" permite buscar en múltiples archivos. "Replace" funciona igual que
"Find", pero permite reemplazar el texto buscado por otro.
"Show Completions" muestra una lista con posibles opciones de funciones y elementos del lenguaje
para terminar el texto que se está escribiendo, para poder autocompletar este y agilizar la escritura de
órdenes. Un efecto similar tiene pulsar la tecla tabulador mientras se está escribiendo, y es una de las
herramientas más útiles que el programador puede encontrar en un editor de texto.
"Expand Word" tiene un efecto similar, pero trata de autocompletar a partir de palabras ya presentes
en la ventana.
"Show Call Tip" muestra un pequeño texto contextual de ayuda sobre el uso de funciones y métodos
al usarse cuando el puntero está en los paréntesis de alguno de ellos.
"Show surrounding parens" resalta el espacio entre paréntesis donde se encuentre el cursor.
El menú "Shell", que sólo se encuentra en la ventana del Shell y no en la del editor, tiene dos opciones:
"View Last Restart", que hace scroll en la pantalla hasta retornar a la última vez que se reinició el Shell,
y "Restart Shell", que reinicia el Shell borrando las variables y estados que hubiese en memoria.
El menú "Debug" también es exclusivo de la ventana de Shell, y permite controlar la ejecución de las
instrucciones para depurar errores. El primer elemento, "Go to File/Line" busca en torno al cursor un
nombre de archivo y un número de línea y, si lo encuentra, abre una ventana del editor conteniendo
ese archivo y mostrando resaltado el contenido de esa línea. El formato para indicar fichero y línea
debe ser parecido a este:
Este es el mismo formato en el que Python devuelve los mensajes de error, por lo que resulta muy
cómodo para encontrar problemas y errores en nuestro código.
La opción "Debugger" abre una ventana en la que podemos ver en tiempo real, mientras ejecutamos
instrucciones, el estado de las variables, lo módulos cargados y otros parámetros del programa en
ejecución.
"Stack Viewer" muestra un diagrama en árbol con el estado de la pila de excepciones. Este diagrama
permite acceder a las variables globales y locales del programa en ejecución. "Auto Open Stack
Viewer" hace que el "Stack Viewer" se abra automáticamente cuando haya algún error.
El menú "Format" aparece sólo en el editor, y tiene herramientas para formatear el código de una forma
más cómoda.
"Indent Region" indenta el código seleccionando un nivel, justo lo contrario de lo que hace "Dedent
Region".
"Comment Out Region" comenta un bloque de código añadiéndole los símbolos ## delante, mientras
que "Uncomment Region" quita los signos de comentario del área seleccionada.
"Tabify Region" convierte el indentado con espacios en tabulaciones, y "Untabify Region" hace lo
contrario, mientras que "Togle Tabs" cambia el indentado por defecto entre espacios y tabuladores.
En Python se recomienda olvidarse de carácter tabulador y usar cuatro espacios para tabular el código,
y esa es la configuración por defecto del editor. De todos modos, en el siguiente elemento del menú
"New Indent Width", se puede cambiar el número de espacios que el editor usa cada vez que se pulsa
la tecla Tab.
"Format Paragraph" reformatea el párrafo actual para que se adecúe al ancho estándar predefinido (72
caracteres de ancho, por defecto),
Por último, "Strip trailing whitespace" elimina los espacios en blanco sobrantes al final de las líneas.
El menú "Run", que también es exclusivo del editor, tiene sólo tres opciones. La primera de ellas es
"Python Shell", que abre una ventana de Shell. La segunda es "Check Module", y comprueba la sintaxis
de programa que haya en el editor en ese momento, avisando si hay algún error.
La última es "Run Module", que ejecuta el programa en un shell. Cuando estemos programando y
queramos probar si nuestro programa funciona correctamente, esta opción nos permitirá ejecutar el
programa sin tener que abrir un terminal ni buscar donde sea que lo tengamos guardado.
El menú "Options" tiene dos elementos, "Configure IDLE" y "Configure Extensions", que sirven para
cambiar la configuración por defecto de los distintos componentes del IDLE, tales como qué ventana
se abre al inicio, la tipografía o lo colores, aspectos del autocompletado y un amplio etcétera.
El menú "Window" Permite aumentar el tamaño de la ventana y, cuando hay más de una ventana
abierta, pasar de una a otra cómodamente.
Y, por último, el menú "Help" provee de información legal sobre el propio IDLE por medio del
elemento de menú "About IDLE", una pequeña ayuda de uso en "IDLE Help" y acceso a la
documentación online de Python en "Python Docs".
Además de lo visto, el editor del IDLE ilumina el código, destacando con distintos colores cada
elemento del lenguaje (estos colores también pueden configurarse). Probablemente la herramienta más
útil del IDLE es su capacidad de autocompletado. Si, mientras estamos escribiendo una sentencia o un
elemento del lenguaje, pulsamos la tecla Tabulador, el IDLE intentará completar la palabra. Si hay
varias opciones posibles, se mostrará una lista con ellas.
Casi con total seguridad, el IDLE no es el mejor ni el más completo editor de código para Python. Pero
es una herramienta muy útil y fácil de usar que nos va a servir de mucha ayuda para aprender Python.
Antes de empezar a escribir nuestro primer programa, recordemos que ha dos formas de ejecutar
Python.
La primera es arrancar el intérprete e ir escribiendo órdenes una a una en el "prompt" que se nos
muestra (>>>). Se suele usar para pequeñas tareas simples o para pruebas y ejemplos.
La segunda (y más habitual) es escribir una serie de órdenes y estructuras en un archivo y ejecutar ese
archivo cada vez que queramos.
Aunque a lo largo de este curso vamos a usar la segunda, empezaremos con el primer método para este
ejemplo inicial.
python3
o abrimos el intérprete del IDLE como vimos, se nos mostrará algo parecido a esto:
Esto nos informa de que se está ejecutando la versión 3.5.3 de Python (si saliera algo como 2.7.1 es
que hemos iniciado una versión anterior de Python, y no es la que queremos).
También nos informa de cómo ha sido compilada esta versión (aunque a nosotros no nos importa), nos
da alguna pista por si queremos buscar información adicional y nos muestra el prompt para que
empecemos a escribir comandos.
(como ya dijimos al hablar de la instalación, dependiendo de cómo se haya instalado es posible que la
instrucción deba ser "python" o incluso "python2". Recuerda que podemos usar cosas como "python -
-version" para ver cuál es la que te da el resultado deseado)
Para empezar, el primer comando que vamos a prender (técnicamente es una función, pero eso lo
iremos viendo más tarde) es "quit()". Si, a continuación de los tres signos de "mayor que" escribimos:
quit()
Por alguna clase de antigua tradición informática, el primer programa que se escribe en cualquier
lenguaje nuevo suele ser el que imprime un mensaje por la pantalla. Concretamente, el mensaje "Hola
mundo".
Si escribimos eso en el prompt y pulsamos la tecla Enter, se nos mostrará algo como esto:
Python ha cumplido nuestra orden escribiendo "Hola mundo" y ha vuelto a mostrarnos el prompt
esperando otra orden.
Como veremos más adelante, "print" es una función. Esta función admite un argumento (en realidad,
admite varios, pero por ahora esto nos vale así), que es lo que queremos imprimir. Nota que lo hemos
puesto entre comillas. Las cadenas de texto deben ir entre comillas simples (') o dobles (") para que
Python sepa que es un texto. Prueba ahora a ponerlo sin comillas y verás que nos da un error un tanto
extraño:
>>> print(2 + 5)
7
>>>
Los números no tiene que ir entre comillas (esto es lo que distingue a un texto con un número del
número en sí) y podemos poner operaciones, que print nos mostrará el resultado.
Pero, en realidad, lo más habitual en los programas es tenerlos en un fichero aparte. Vamos a usar
alguno de los programas que hemos visto antes (por ejemplo, el IDLE) para editar un nuevo programa.
Crearemos un nuevo archivo, escribiremos en él el texto:
print("hola mundo")
Si, una vez hecho esto, ejecutamos la siguiente orden en la línea de comandos (ojo, he dicho “línea de
comandos”, no el intérprete de Python. No me refiero a >>>).
python hola.py
En entornos Linux/Unix es habitual también incluir al principio del fichero con el programa una línea
que permite ejecutarlo directamente desde línea de comandos, sin necesidad de llamar explícitamente
al intérprete. Esta línea, llamada "shebang", suele ser `#!/usr/bin/python3` o `#!/usr/bin/env python3`
(esta última más genérica). El fichero quedaría algo así:
#!/usr/bin/python3
print("¡Hola, Mundo Libre!")
chmod +x hola.py
./hola.py
Los **"./"** puede que no sean necesarios si se tiene el propio directorio incluido en el camino de
ejecución, pero no suele ser una práctica habitual (ni segura) así que es mejor curarse en salud haciendo
de la forma anterior. El resultado, de todas formas, tiene que ser el mismo.
Volvamos a editar nuestro fichero y agreguemos unas cuantas órdenes más hasta que quede así:
#!/usr/bin/python3
print("¡Hola, Mundo Libre!")
print("Esto es una segunda línea")
print("Y esto una tercera.")
Estas son los objetivos mínimos que deberías haber conseguido con lo visto esta semana: