0% encontró este documento útil (0 votos)
8 vistas

Apunte de Python

Python es un lenguaje de programación poderoso y fácil de aprender, ideal para scripting y desarrollo rápido de aplicaciones. Este tutorial introduce las características básicas de Python y su uso, permitiendo al lector experimentar con ejemplos y aprender sobre módulos y funciones. Además, se destaca la extensibilidad de Python y su capacidad para manejar tareas complejas de manera más eficiente que otros lenguajes como C o Java.

Cargado por

Ramona Paiva
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
8 vistas

Apunte de Python

Python es un lenguaje de programación poderoso y fácil de aprender, ideal para scripting y desarrollo rápido de aplicaciones. Este tutorial introduce las características básicas de Python y su uso, permitiendo al lector experimentar con ejemplos y aprender sobre módulos y funciones. Además, se destaca la extensibilidad de Python y su capacidad para manejar tareas complejas de manera más eficiente que otros lenguajes como C o Java.

Cargado por

Ramona Paiva
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

El tutorial de

Introducción
Python
Python es un lenguaje de programación poderoso y fácil de aprender. Cuenta con estructuras de datos
eficientes y de alto nivel y un enfoque simple pero efectivo a la programación orientada a objetos. La
elegante sintaxis de Python y su tipado dinámico, junto con su naturaleza interpretada, hacen de éste un
lenguaje ideal para scripting y desarrollo rápido de aplicaciones en diversas áreas y sobre la mayoría de
las plataformas.
El intérprete de Python y la extensa biblioteca estándar están a libre disposición en forma binaria y de
código fuente para las principales plataformas desde el sitio web de Python, http://www.python.org/, y
puede distribuirse libremente. El mismo sitio contiene también distribuciones y enlaces de muchos
módulos libres de Python de terceros, programas y herramientas, y documentación adicional.
El intérprete de Python puede extenderse fácilmente con nuevas funcionalidades y tipos de datos
implementados en C o C++ (u otros lenguajes accesibles desde C). Python también puede usarse como
un lenguaje de extensiones para aplicaciones personalizables.
Este tutorial introduce de manera informal al lector a los conceptos y características básicas del lenguaje y
el sistema de Python. Es bueno tener un interprete de Python a mano para experimentar, sin embargo
todos los ejemplos están aislados, por lo tanto el tutorial puede leerse estando desconectado.
Para una descripción de los objetos y módulos estándar, mira la Referencia de la Biblioteca de Python. El
Manual de Referencia de Python provee una definición más formal del lenguaje. Para escribir extensiones
en C o C++, lee Extendiendo e Integrando el Intérprete de Python y la Referencia de la API Python/C. Hay
también numerosos libros que tratan a Python en profundidad.
Este tutorial no pretende ser exhaustivo ni tratar cada una de las características, o siquiera las
características más usadas. En cambio, introduce la mayoría de las características más notables de
Python, y te dará una buena idea del gusto y estilo del lenguaje. Luego de leerlo, serás capaz de leer y
escribir módulos y programas en Python, y estarás listo para aprender más de los variados módulos de la
biblioteca de Python descriptos en la Referencia de la Biblioteca de Python.
También vale la pena mirar el glosario.
7

Abriendo tu apetito
Si trabajás mucho con computadoras, eventualmente encontrarás que te gustaría automatizar alguna
tarea. Por ejemplo, podrías desear realizar una búsqueda y reemplazo en un gran número de archivos de
texto, o renombrar y reorganizar un montón de archivos con fotos de una manera compleja. Tal vez
quieras escribir alguna pequeña base de datos personalizada, o una aplicación especializada con interfaz
gráfica, o un juego simple.
Si sos un desarrollador de software profesional, tal vez necesites trabajar con varias bibliotecas de
C/C++/Java pero encuentres que se hace lento el ciclo usual de escribir/compilar/testear/recompilar. Tal
vez estás escribiendo una batería de pruebas para una de esas bibliotecas y encuentres que escribir el
código de testeo se hace una tarea tediosa. O tal vez has escrito un programa al que le vendría bien un
lenguaje de extensión, y no quieres diseñar/implementar todo un nuevo lenguaje para tu aplicación.
Python es el lenguaje justo para ti.
Podrías escribir un script (o programa) en el interprete de comandos o un archivo por lotes de Windows
para algunas de estas tareas, pero los scripts se lucen para mover archivos de un lado a otro y para
modificar datos de texto, no para aplicaciones con interfaz de usuario o juegos. Podrías escribir un
programa en C/C++/Java, pero puede tomar mucho tiempo de desarrollo obtener al menos un primer
borrador del programa. Python es más fácil de usar, está disponible para sistemas operativos Windows,
Mac OS X y Unix, y te ayudará a realizar tu tarea más velozmente.
Python es fácil de usar, pero es un lenguaje de programación de verdad, ofreciendo mucho mucho mayor
estructura y soporte para programas grandes que lo que lo que pueden ofrecer los scripts de Unix o
archivos por lotes. Por otro lado, Python ofrece mucho más chequeo de error que C, y siendo un lenguaje
de muy alto nivel, tiene tipos de datos de alto nivel incorporados como arreglos de tamaño flexible y
diccionarios. Debido a sus tipos de datos más generales Python puede aplicarse a un dominio de
problemas mayor que Awk o incluso Perl, y aún así muchas cosas siguen siendo al menos igual de fácil
en Python que en esos lenguajes.
Python te permite separar tu programa en módulos que pueden reusarse en otros programas en Python.
Viene con una gran colección de módulos estándar que puedes usar como base de tus programas, o
como ejemplos para empezar a aprender a programar en Python. Algunos de estos módulos proveen
cosas como entrada/salida a archivos, llamadas al sistema, sockets, e incluso interfaces a sistemas de
interfaz gráfica de usuario como Tk.
Python es un lenguaje interpretado, lo cual puede ahorrarte mucho tiempo durante el desarrollo ya que no
es necesario compilar ni enlazar. El intérprete puede usarse interactivamente, lo que facilita experimentar
con características del lenguaje, escribir programas descartables, o probar funciones cuando se hace
desarrollo de programas de abajo hacia arriba. Es también una calculadora de escritorio práctica.
Python permite escribir programas compactos y legibles. Los programas en Python son típicamente más
cortos que sus programas equivalentes en C, C++ o Java por varios motivos:
• los tipos de datos de alto nivel permiten expresar operaciones complejas en una sola instrucción
• la agrupación de instrucciones se hace por snagría en vez de llaves de apertura y cierre
8
• no es necesario declarar variables ni argumentos.
Python es extensible: si ya sabes programar en C es fácil agregar una nueva función o módulo al
intérprete, ya sea para realizar operaciones críticas a velocidad máxima, o para enlazar programas Python
con bibliotecas que tal vez sólo estén disponibles en forma binaria (por ejemplo bibliotecas gráficas
específicas de un fabricante). Una vez que estés realmente entusiasmado, podés enlazar el intérprete
Python en una aplicación hecha en C y usarlo como lenguaje de extensión o de comando para esa
aplicación.
Por cierto, el lenguaje recibe su nombre del programa de televisión de la BBC "Monty Python's Flying
Circus" y no tiene nada que ver con reptiles. Hacer referencias a sketches de Monty Python en la
documentación no sólo esta permitido, ¡sino que también está bien visto!
Ahora que ya estás emocionado con Python, querrás verlo en más detalle. Como la mejor forma de
aprender un lenguaje es usarlo, el tutorial te invita a que juegues con el intérprete de Python a medida que
vas leyendo.
En el próximo capítulo se explicará la mecánica de uso del intérprete. Esta es información bastante
mundana, pero es esencial para poder probar los ejemplos que aparecerán más adelante.
El resto del tutorial introduce varias características del lenguaje y el sistema Python a través de ejemplos,
empezando con expresiones, instrucciones y tipos de datos simples, pasando por funciones y módulos, y
finalmente tocando conceptos avanzados como excepciones y clases definidas por el usuario.
9

Usando el intérprete de Python


Invocando al intérprete
Por lo general, el intérprete de Python se instala en file:/usr/local/bin/python en las máquinas dónde está
disponible; poner /usr/local/bin en el camino de búsqueda de tu intérprete de comandos Unix hace
posible iniciarlo ingresando la orden:
python
...en la terminal. Ya que la elección del directorio dónde vivirá el intérprete es una opción del proceso de
instalación, puede estar en otros lugares; consultá a tu Gurú Python local o administrador de sistemas.
(Por ejemplo, /usr/local/python es una alternativa popular).
En máquinas con Windows, la instalación de Python por lo general se encuentra en C:\Python26,
aunque se puede cambiar durante la instalación. Para añadir este directorio al camino, podes ingresar la
siguiente orden en el prompt de DOS:
set path=%path%;C:\python26
Se puede salir del intérprete con estado de salida cero ingresando el carácter de fin de archivo
(Control-D en Unix, Control-Z en Windows) en el prompt primario. Si esto no funciona, se puede salir
del intérprete ingresando: import sys; sys.exit().
Las características para editar líneas del intérprete no son muy sofisticadas. En Unix, quien instale el
intérprete tendrá habilitado el soporte para la biblioteca GNU readlines, que añade una edición interactiva
más elaborada e historia. Tal vez la forma más rápida de detectar si las características de edición están
presentes es ingresar Control-P en el primer prompt de Python que aparezca. Si se escucha un beep, las
características están presentes; ver Apéndice tut-interacting para una introducción a las teclas. Si no pasa
nada, o si aparece ^P, estas características no están disponibles; solo vas a poder usar backspace para
borrar los caracteres de la línea actual.
La forma de operar del intérprete es parecida a la línea de comandos de Unix: cuando se la llama con la
entrada estándar conectada a una terminal lee y ejecuta comandos en forma interactiva; cuando es
llamada con un nombre de archivo como argumento o con un archivo como entrada estándar, lee y
ejecuta un script del archivo.
Una segunda forma de iniciar el intérprete es python -c comando [arg] ..., que ejecuta las
sentencias en comando, similar a la opción -c de la línea de comandos. Ya que las sentencias de Python
suelen tener espacios en blanco u otros caracteres que son especiales en la línea de comandos, es
normalmente recomendado citar comando entre comillas dobles.
Algunos módulos de Python son también útiles como scripts. Pueden invocarse usando python -m
module [arg] ..., que ejecuta el código de module como si se hubiese ingresado su nombre completo
en la línea de comandos.
10
Notá que existe una diferencia entre python file y python <file. En el último caso, la entrada
solicitada por el programa, como en llamadas a input() y raw_input(), son satisfechas desde file. Ya
que este archivo ya fue leído hasta el final por el analizador antes de que el programa empiece su
ejecución, se encontrará el fin de archivo enseguida. En el primer caso (lo que usualmente vas a querer)
son satisfechas por cualquier archivo o dispositivo que esté conectado a la entrada estándar del intérprete
de Python.
Cuando se usa un script, a veces es útil correr primero el script y luego entrar al modo interactivo. Esto se
puede hacer pasándole la opción -i antes del nombre del script. (Esto no funciona si el script es leído
desde la entrada estándar, por la misma razón explicada en el párrafo anterior).
Pasaje de argumentos
Cuando son conocidos por el intérprete, el nombre del script y los argumentos adicionales son entonces
pasados al script en la variable sys.argv, una lista de cadenas de texto. Su longitud es al menos uno;
cuando ningún script o argumentos son pasados, sys.argv[0] es una cadena vacía. Cuando se pasa
el nombre del script con '-' (lo que significa la entrada estándar), sys.argv[0] vale '-'. Cuando se
usa -c command, sys.argv[0] vale '-c'. Cuando se usa -m module, sys.argv[0] toma el valor del
nombre completo del módulo. Las opciones encontradas luego de -c command o -m module no son
consumidas por el procesador de opciones de Python pero de todas formas almacenadas en sys.argv
para ser manejadas por el comando o módulo.
Modo interactivo
Se dice que estamos usando el intérprete en modo interactivo, cuando los comandos son leídos desde
una terminal. En este modo espera el siguiente comando con el prompt primario, usualmente tres signos
mayor-que (>>>); para las líneas de continuación espera con el prompt secundario, por defecto tres
puntos (...). Antes de mostrar el prompt primario, el intérprete muestra un mensaje de bienvenida
reportando su número de versión y una nota de copyright:
python
Python 2.6 (#1, Feb 28 2007, 00:02:06)
Type "help", "copyright", "credits" or "license" for more information.
>>>
Las líneas de continuación son necesarias cuando queremos ingresar un constructor multilínea. Como en
el ejemplo, mirá la sentencia if:
>>> el_mundo_es_plano = 1
>>> if el_mundo_es_plano:
... print u"¡Tené cuidado de no caerte!"
...
¡Tené cuidado de no caerte!
11

El intérprete y su entorno
Manejo de errores
Cuando ocurre un error, el intérprete imprime un mensaje de error y la traza del error. En el modo
interactivo, luego retorna al prompt primario; cuando la entrada viene de un archivo, el programa termina
con código de salida distinto a cero luego de imprimir la traza del error. (Las excepciones manejadas por
una clausula except en una sentencia try no son errores en este contexto). Algunos errores son
incondicionalmente fatales y causan una terminación con código de salida distinto de cero; esto se debe a
inconsistencias internas o a que el intérprete se queda sin memoria. Todos los mensajes de error se
escriben en el flujo de errores estándar; las salidas normales de comandos ejecutados se escriben en la
salida estándar.
Al ingresar el caracter de interrupción (por lo general Control-C o DEL) en el prompt primario o secundario,
se cancela la entrada y retorna al prompt primario. 1 Tipear una interrupción mientras un comando se
están ejecutando lanza la excepción KeyboardInterrupt, que puede ser manejada con una sentencia
try.
Programas ejecutables de Python
En los sistemas Unix y tipo BSD, los programas Python pueden convertirse directamente en ejecutables,
como programas del intérprete de comandos, poniendo la linea:
#! /usr/bin/env python
...al principio del script y dándole al archivo permisos de ejecución (asumiendo que el intérprete están en
la variable de entorno PATH del usuario). #! deben ser los primeros dos caracteres del archivo. En
algunas plataformas, la primer línea debe terminar al estilo Unix ('\n'), no como en Windows ('\r\n').
Notá que el caracter numeral '#' se usa en Python para comenzar un comentario.
Se le puede dar permisos de ejecución al script usando el comando chmod:
$ chmod +x myscript.py
En sistemas Windows, no existe la noción de "modo ejecutable". El instalador de Python asocia
automáticamente la extensión .py con python.exe para que al hacerle doble click a un archivo Python
se corra el script. La extensión también puede ser .pyw, en este caso se omite la ventana con la consola
que normalmente aparece.
12

También podría gustarte