PDF de programación - Introducción a Python

Imágen de pdf Introducción a Python

Introducción a Pythongráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 27 de Enero del 2018)
1.544 visualizaciones desde el 27 de Enero del 2018
958,5 KB
88 paginas
Creado hace 9a (04/03/2011)
INTRODUCCIÓN A
PYTHON

Los programas deben escribirse para que los lean las personas, y
sólo de forma circunstancial para que los ejecuten las máquinas.
— Abelson y Sussman, Estructura e Interpretación de Programas de Computadora

2

Se permite la reproducción, distribución y
comunicación pública de la obra así como
la generación de obras derivadas, incluso
con fines comerciales.

Autor: Ángel Luis García García (angelluis78@gmail.com)
Versión del documento: 0.0.2
Versión Python: 2.6.6
Fecha: 25/02/2011

Antes de nada

Este manual pretende introducir a cualquier persona, que haya programado en
cualquier otro lenguaje, en el desarrollo de software con Python. Solo es una
iniciación, por lo que se dejan conceptos en el camino, ya que de lo contrario
se titularía “TODO sobre Python”.
Inspirado en un nido de horas estudiando y programando en Python, este
texto está redactado para ser leído (y probado) de manera secuencial,
introduciendo progresivamente los conceptos fundamentales del lenguaje en
los diversos temas. Puesto que no es lo mismo andar el camino que conocer el
camino, se insta al lector a que pruebe todos los ejemplos que vienen en el
documento. Y es que para aprender a desarrollar “en cualquier lenguaje de
programación” hay que embarrarse las manos, no hay otra forma.



ÍNDICE

0. INTRODUCCIÓN
1. CARACTERÍSTICAS PRINCIPALES

2. EL INTÉRPRETE DE PYTHON

1.1 IMPLEMENTACIONES
1.2 HERRAMIENTAS DE DESARROLLO
1.3 VERSIONES
1.4 COMPOSICIÓN DE PYTHON
1.5 FILOSOFÍA PYTHON
2.1 IDENTIFICADORES Y DECLARACIONES
2.2 AYUDA
3. MI PRIMER FICHERO CON CÓDIGO FUENTE
4. UNICODE
5. FUNCIONES
6. MÓDULOS

4.1 SCRIPTS PYTHON EN UNICODE
5.1 FUNCIONES LAMBDA
6.1 LOCALIZACIÓN
6.2 MÓDULOS EN LA LIBRERÍA ESTÁNDAR
6.3 PACKAGES

7. PALABRAS CLAVE Y FUNCIONES INTEGRADAS
8. TIPOS DE DATOS Y SUS OPERADORES

8.1 NONE
8.2 BOOLEANO
8.3 NÚMEROS
8.4 SECUENCIAS

8.4.1
8.4.2
8.4.3
8.4.4
8.4.5

LISTAS
TUPLAS
CADENAS
FORMAS DE ACCEDER A ELEMENTOS DE SECUENCIAS
OPERACIONES SOBRE SECUENCIAS

8.4.5.1
8.4.5.2

EN LISTAS
EN CADENAS

8.5.1

8.5 TABLAS HASHING (DICCIONARIOS)
OPERACIONES
8.6 FICHEROS
8.7 MÁS TIPOS EN PYTHON

9. CONVERSIONES ENTRE LISTAS, TUPLAS Y TABLAS HASHING.
10. FORMATEO DE CADENAS
11. CONTROL DE FLUJO

11.1
11.2
11.3

IF
WHILE
FOR
12. ITERADORES
13. PROGRAMACIÓN ORIENTADA A OBJETOS
14. MANEJO DE EXCEPCIONES
15. PERSISTENCIA DE OBJETOS CON cPickle
16. SCRIPTS EN PYTHON
17. LOTERÍAS EN PYTHON
18. UNA AGENDA
19. TIPOS DE FICHEROS PYTHON
20. MÓDULOS MÁS IMPORTANTES
21. RECURSOS DOCUMENTALES EN INTERNET

4

0. Introducción
Python es un lenguaje de programación diseñado por el holandés Guido van
Rossum, a finales de los 80. Aunque Guido tiene la última palabra en
cuestiones referentes a fijación de directrices y decisiones finales sobre
Python (de hecho, a Guido se le conoce como el benevolente dictador
vitalicio), este último es administrado y desarrollado por la Python Software
Foundation (PSF), teniendo licencia de código abierto (PSFL) compatible con
GPL de GNU a partir de la versión 2.1.1. La PSF tiene además, como objetivo,
fomentar el desarrollo de la comunidad Python (es una organización sin ánimo
de lucro, creada en 2001).

Guido trabaja desde 2005 en Google (Mountain View). Más información en
http://www.python.org/~guido/.

Cuando se introducen características nuevas en el lenguaje nos encontramos
con las PEP, que son las siglas en inglés de Python Enhancement Proposal,
esto es, en español propuesta de mejora de Python. Un PEP es un
documento de diseño que suministra información a la comunidad Python ó bien
describe una nueva característica en Python. Por tanto un PEP sirve para
proporcionar una especificación técnica precisa de una característica y su
justificación.

El sitio web de Python es www.python.org.

Python se usa en programación de sistemas, cálculo numérico, desarrollo web,
software para dispositivos móviles (Symbian, Android), desarrollo de
aplicaciones de escritorio, educación, simulación, prototipados, GIS y un largo
etcétera.

De las empresas más destacadas que utilizan Python se pueden nombrar
Google, NASA, Facebook, US National Weather Service, Corel, Lockheed Martin,
Pixar, Industrial Light and Magic, etc.

Como software desarrollado en Python cabe resaltar Google App Engine
(entorno Cloud Computing de Google), OpenERP, The Washington Post (Python
+ Django), Facebook (la parte de gestión de mensajes e información en tiempo
real), Zope (servidor de aplicaciones), Plone (CMS [sistema de gestión de
contenidos] utilizado por la NASA, Canonical, etc), BitTorrent, etc.
Más casos de éxito en http://python.org/about/success/.

1. Características principales de Python
Python es un lenguaje de programación de propósito general, de muy alto nivel
(esto es, un alto nivel de abstracción, con el uso de listas, tuplas, diccionarios).

Python es un lenguaje interpretado (no es necesaria compilación), dinámico (no
necesita identificar explícitamente los tipos de datos para inicializar variables,
de modo que los tipos se validan durante la ejecución del programa) y
fuertemente tipado (no pueden mezclarse tipos, es necesario hacer
conversiones).

Python es un lenguaje multiplataforma (Windows, Mac, Linux, etc),
multiparadigma (imperativo, orientado a objetos y en menos medida funcional)
y con gestión automática de memoria.

Por último cabe destacar que Python es un lenguaje de programación con una
sintaxis clara y sencilla, fácil de aprender, donde se pueden mezclar los
diferentes paradigmas de programación de los que dispone, ampliamente
documentado, extensible, que intenta obligar al desarrollador de software a
programar de la manera correcta en el menor tiempo posible.

6

1.1. Implementaciones en Python
CPython ó (o Python) es la implementación de referencia. Interpreta,
“compila”, y contiene módulos codificados en C estándar.

Jython es la implementación para la JVM (Máquina Virtual Java) accediendo a
las bibliotecas de Java.

IronPython es la implementación para el CRL de Microsoft, con el propósito de
acceder al framework de .NET.

PyPy es la implementación de Python escrita en Python (para rizar más el rizo).

1.2. Herramientas para desarrollar en
Python
Para programar en Python lo único que se necesita es el intérprete de Python,
(se puede obtener de www.python.org) y el/los fichero/s de código fuente
Python a ejecutar. Por otra parte tenemos ciertas herramientas de desarrollo
para utilizar con Python, a saber:
IDE: Son las siglas de entorno de desarrollo integrado. Es una aplicación
(entorno de programación) para desarrollar software que está compuesto
normalmente por un editor de código, un compilador ó un intérprete,
herramientas auxiliares de desarrollo (creación de documentación, tests,
empaquetado de software), un depurador y algunas veces un diseñador de
interfaces gráficas incorporado. Se pueden nombrar IDLE, Eclipse con el plugin
pyDev, Aptana, NetBeans, Geany, pyScripter, Ninja IDE, Stani's Python Editor,
Wingware Python IDE, Komodo, Pyragua, Eric.
GUI: Son las siglas de interfaz gráfica de usuario. Son herramientas para crear
interfaces gráficas, esto es, componentes gráficos con los cuales el usuario
interacciona con la aplicación. Hay algunos IDE's que contienen GUI's
integrados. Las GUI's dependen de la plataforma gráfica en la que trabajemos.
Por ejemplo, para wxPython tenemos wxDesigner, wxFormBuilder ó wxGlade.
Para GTK, tenemos Glade, Qt dispone de Monkey Studio, etc.
Editor: Es una aplicación para escribir código de programación en el lenguaje
deseado. Contiene todas las herramientas de edición necesarias, y algunas
veces características propias de IDE's. Hay veces que cuesta distinguir entre un
IDE y un editor por la cantidad de opciones que tiene este último. Por ejemplo
Editra, emacs, Notepad++, SciTE.
RAD: Son las siglas de desarrollo rápido de aplicaciones. Dependiendo del
autor sirve para designar a las aplicaciones de desarrollo de interfaces gráficas
ó a los IDE's con GUI's integrados, o a las dos cosas. Es un término dado a
plataformas de desarrollo como PowerBuilder, Visual Studio ó Delphi, por poner
ejemplos. De los más destacados para Python tenemos BOA Constructor y
SharpDevelop (para IronPython).
Shell interactivo: Es una aplicación que mejora sustancialmente el intérprete
Python original, esto es, es un intérprete con características especiales, que
podrían incluir la completitud de código y el coloreado del mismo, navegación
entre los namespaces, exportación de código, etc. Por ejemplo PyCrust,
Dreampie, PyShell, etc.

Lo mínimo que se le debe de pedir a cualquier IDE ó editor, para desarrollar en Python,
es la indentación automática, coloreado y completitud de código.

Más información sobre herramientas para desarrollar en Python en
http://wiki.python.org/moin/PythonEditors.

8

1.3. Las versiones de Python
Actualmente en Python existen dos versiones activas, la 2.XX y la 3.XX. En el
sitio web de Python existe un guión de ayuda para elegir entre la 2 y la 3:

http://wiki.python.org/moin/Python2orPython3

A diciembre de 2010 había estables las versiones de 2.6, 2.7 y en desarrollo la
3.2. El futuro es Python 3, el cual es incompatible con las versiones 2.XX.

Entonces, ¿cuál elegir?. Pues depende de nuestras exigencias, y de los
módulos de extensión (aquellos que no están en la distribución de Python) que
utilicemos (frameworks y demás). La mayoría siguen siendo compatibles con
2.XX pero no con 3 (aunque esto está cambiando). Este manual está hecho
pensando en Python 2.6.6.

1.4. Composición de Python
A grandes rasgos podemos ver de qué está compuesta una aplicación Python:
PYTHON: LENGUAJE + BIBLIOTECA ESTÁNDAR + MÓDULOS DE EXTENSIÓN

El lenguaje y la biblioteca estándar conforman la instalación de base.

El lenguaje se compone de palabras clave (if, for, etc), funciones integradas
(abs, print, etc), tipos básicos (números, secuencias, diccionarios, conjuntos,
cadenas, ficheros, .
  • Links de descarga
http://lwp-l.com/pdf8502

Comentarios de: Introducción a Python (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad