Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

El tutorial de Python




Enviado por luisberto



    Monografias.com

    Introducción
    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

    Monografias.com

    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

    Monografias.com

    • 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

    Monografias.com

    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

    Monografias.com


    Notá que existe una diferencia entre python file y python >>); 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

    Monografias.com

    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 ('rn').
    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

    Monografias.com

    Codificación del código fuente
    Es posible utilizar una codificación distinta a ASCII en el código fuente de Python. La mejor forma de
    hacerlo es poner otro comentario especial enseguida después de la línea con #! para definir la
    codificación:
    # -*- coding: encoding -*-
    Con esa declaración, todos los caracteres en el archivo fuente serán traducidos utilizando la codificación
    encoding, y será posible escribir directamente cadenas de texto literales Unicode en la codificación
    seleccionada. La lista de posibles codificaciones se puede encontrar en la Referencia de la Biblioteca de
    Python, en la sección sobre codecs.
    Por ejemplo, para escribir literales Unicode, incluyendo el símbolo de la moneda Euro, se puede usar la
    codificación ISO-8859-15, en la que el símbolo Euro tiene el valor 164. Este script imprimirá el valor 8364
    (el código Unicode correspondiente al símbolo Euro) y luego saldrá:
    # -*- coding: iso-8859-15 -*-
    moneda = u"€"
    print ord(moneda)
    Si tu editor tiene soporte para guardar archivos como UTF-8 con marca de orden de byte UTF-8 (también
    conocida como BOM), podés usar eso en lugar de la declaración de codificación. IDLE lo soporta si se
    activa Options/General/Default Source Encoding/UTF-8. Notá que esto no funciona en
    versiones antiguas de Python (2.2 y anteriores), ni por el sistema operativo en scripts con la línea con #!
    (solo usado en sistemas Unix).
    Usando UTF-8 (ya sea mediante BOM o la declaración de codificación), los caracteres de la mayoría de
    los idiomas del mundo pueden ser usados simultáneamente en cadenas de texto o comentarios. No se
    soporta usar caracteres no-ASCII en identificadores. Para mostrar todos estos caracteres de forma
    apropiada, tu editor debe reconocer que el archivo es UTF-8, y debe usar una tipografía que soporte todos
    los caracteres del archivo.
    El archivo de inicio interactivo
    Cuando usás Python en forma interactiva, suele ser útil que algunos comandos estándar se ejecuten cada
    vez que el intérprete se inicia. Podés hacer esto configurando la variable de entorno PYTHONSTARTUP
    con el nombre de un archivo que contenga tus comandos de inicio. Esto es similar al archivo .profile
    en los intérpretes de comandos de Unix.
    Este archivo es solo leído en las sesiones interactivas del intérprete, no cuando Python lee comandos de
    un script ni cuando file:/dev/tty se explicita como una fuente de comandos (que de otro modo se comporta
    como una sesión interactiva). Se ejecuta en el mismo espacio de nombres en el que los comandos
    interactivos se ejecutan, entonces los objetos que define o importa pueden ser usados sin cualificaciones
    en la sesión interactiva. En este archivo también podés cambiar los prompts sys.ps1 y sys.ps2.
    13

    Monografias.com

    1
    Si querés leer un archivo de inicio adicional desde el directorio actual, podés programarlo en el archivo de
    inicio
    global
    usando
    algo
    como
    if
    os.path.isfile('.pythonrc.py'):
    execfile('.pythonrc.py'). Si querés usar el archivo de inicio en un script, tenés que hacer lo
    siguiente en forma explícita en el script:

    import os
    nombrearchivo = os.environ.get('PYTHONSTARTUP')
    if nombrearchivo and os.path.isfile(nombrearchivo):
    execfile(nombrearchivo)

    Un problema con el paquete GNU Readline puede evitar que funcione.

    14

    Monografias.com

    Una introducción informal a Python

    En los siguientes ejemplos, las entradas y salidas son distinguidas por la presencia o ausencia de los
    prompts (`>>>` and `…`): para reproducir los ejemplos, debés escribir todo lo que esté después del
    prompt, cuando este aparezca; las líneas que no comiencen con el prompt son las salidas del intérprete.
    Tené en cuenta que el prompt secundario que aparece por si sólo en una línea de un ejemplo significa que
    debés escribir una línea en blanco; esto es usado para terminar un comando multilínea.

    Muchos de los ejemplos de este manual, incluso aquellos ingresados en el prompt interactivo, incluyen
    comentarios. Los comentarios en Python comienzan con el carácter numeral, #, y se extienden hasta el
    final físico de la línea. Un comentario quizás aparezca al comienzo de la línea o seguidos de espacios
    blancos o código, pero sin una cadena de caracteres. Un carácter numeral dentro de una cadena de
    caracteres es sólo un carácter numeral. Ya que los comentarios son para aclarar código y no son
    interpretados por Python, pueden omitirse cuando se escriben ejemplos.

    Algunos ejemplos:

    # este es el primer comentario
    SPAM = 1
    # y este es el segundo comentario
    # … y ahora un tercero!
    STRING = "# Este no es un comentario".

    Usar Python como una calculadora

    Vamos a probar algunos comandos simples en Python. Iniciá un intérprete y esperá por el prompt
    primario, >>>. (No debería demorar tanto).

    Números

    El intérprete actúa como una simple calculadora; podés ingrsar una expresión y este escribirá los valores.
    La sintaxis es sencilla: los operadores +, -, * y / funcionan como en la mayoría de los lenguajes (por
    ejemplo, Pascal o C); los paréntesis pueden ser usados para agrupar. Por ejemplo:
    >>>
    4
    >>>

    4
    2+2

    # Este es un comentario
    2+2
    >>>
    4
    2+2
    # y un comentario en la misma línea que el código
    >>>
    (50-5*6)/4
    5

    15

    Monografias.com

    >>>
    >>> # La división entera retorna redondeado al piso:
    … 7/3
    2
    >>> 7/-3
    -3

    El signo igual (=) es usado para asignar un valor a una variable. Luego, ningún resultado es mostrado
    antes del próximo prompt:

    >>> ancho = 20
    >>> largo = 5*9
    >>> ancho * largo
    900

    Un valor puede ser asignado a varias variables simultáneamente:
    x = y = z = 0
    # Cero a x, y, y z
    >>>
    0
    >>>
    0
    >>>
    x

    y

    z
    0

    Las variables deben estar "definidas" (con un valor asignado) antes de que puedan usarse, o un error
    ocurrirá:

    >>> # tratamos de acceder a una variable no definida
    … n
    Traceback (most recent call last):
    File "", line 1, in
    NameError: name 'n' is not defined

    Se soporta completamente los números de punto flotante; las operaciones con mezclas en los tipos de los
    operandos convierten los enteros a punto flotante:

    >>> 3 * 3.75 / 1.5
    7.5
    >>> 7.0 / 2
    3.5

    Los números complejos también están soportados; los números imaginarios son escritos con el sufijo de
    j o J. Los números complejos con un componente real que no sea cero son escritos como
    (real+imagj), o pueden ser escrito con la función complex(real, imag).

    >>> 1j * 1J
    (-1+0j)

    16

    Monografias.com

    _
    >>> 1j * complex(0,1)
    (-1+0j)
    >>> 3+1j*3
    (3+3j)
    >>> (3+1j)*3
    (9+3j)
    >>> (1+2j)/(1+1j)
    (1.5+0.5j)

    Los números complejos son siempre representados como dos números de punto flotante, la parte real y la
    imaginaria. Para extraer estas partes desde un número complejo z, usá z.real y z.imag.

    >>> a=1.5+0.5j
    >>> a.real
    1.5
    >>> a.imag
    0.5

    La función de conversión de los punto flotante y enteros (float(), int() y long()) no funciona para
    números complejos; aquí no hay una forma correcta de convertir un número complejo a un número real.
    Usá abs(z) para obtener esta magnitud (como un flotante) o z.real para obtener la parte real.

    >>> a=3.0+4.0j
    >>> float(a)

    TypeError: can't convert complex to float
    >>> a.real
    3.0
    >>> a.imag
    4.0
    >>> abs(a) # sqrt(a.real**2 + a.imag**2)
    5.0
    >>>

    En el modo interactivo, la última expresión impresa es asignada a la variable _. Esto significa que cuando
    estés usando Python como una calculadora de escritorio, es más fácil seguir calculando, por ejemplo:
    >>> impuesto
    >>> precio =
    >>> precio *
    12.5625
    >>> precio +
    113.0625
    >>> round(_,
    = 12.5 / 100
    100.50
    impuesto

    2)
    113.06
    >>>

    17

    Monografias.com

    Esta variable debería ser tratada como de sólo lectura por el usuario. No le asignes explícitamente un
    valor; crearás una variable local independiente con el mismo nombre enmascarando la variable con el
    comportamiento mágico.
    Cadenas de caracteres
    Además de números, Python puede manipular cadenas de texto, las cuales pueden ser expresadas de
    distintas formas. Pueden estar encerradas en comillas simples o dobles:
    >>> 'huevos y pan'
    'huevos y pan'
    >>> 'doesn't'
    "doesn't"
    >>> "doesn't"
    "doesn't"
    >>> '"Si," le dijo.'
    '"Si," le dijo.'
    >>> ""Si," le dijo."
    '"Si," le dijo.'
    >>> '"Isn't," she said.'
    '"Isn't," she said.'
    Las cadenas de texto literales pueden contener múltiples líneas de distintas formas. Las líneas continuas
    se pueden usar, con una barra invertida como el último carácter de la línea para indicar que la siguiente
    línea es la continuación lógica de la línea:
    hola = "Esta es una larga cadena que contienen
    varias líneas de texto, tal y como se hace en C.n
    Notar que los espacios en blanco al principio de la linea
    son significantes."
    print hola
    Notá que de todas formas se necesita embeber los salto de líneas con n; la nueva línea que sigue a la
    barra invertida final es descartada. Este ejemplo imprimiría:
    Esta es una larga cadena que contiene
    varias líneas de texto, tal y como se hace en C.
    Notar que los espacios en blanco al principio de la linea son
    significantes.
    O, las cadenas de texto pueden ser rodeadas en un par de comillas triples: """ o '''. No se necesita
    escapar los finales de línea cuando se utilizan comillas triples, pero serán incluidos en la cadena.
    print """
    Uso: algo [OPTIONS]
    18

    Monografias.com

    -h
    -h
    #
    #
    #

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter