II26 Procesadores de lenguaje - UJI

4o Ingenier?ia Inform?atica

II26 Procesadores de lenguaje

Python: Conceptos b?asicos y ejercicios

Introducci?on a Python

3

?Indice

1 Introducci?on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Invocaci?on del int?erprete Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 Tipos de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.1 Tipos num?ericos

6

3.2 El valor None

8

3.3 Cadenas

8

3.4 Subsecuencias

11

3.5 Listas

11

3.6 Tuplas

13

3.7 Diccionarios

14

4 Entrada/salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5 Control de flujo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

5.1 Sangrado

15

5.2 Ejecuci?on condicional

16

5.3 Instrucci?on vac?ia

16

5.4 Bucles

17

6 Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

6.1 Un ejemplo

19

6.2 Par?ametros con valores por defecto

20

6.3 Algunas funciones predefinidas

21

7 Bibliotecas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

7.1 La biblioteca sys

22

7.2 La biblioteca types

23

7.3 La biblioteca string

23

7.4 La biblioteca re

24

7.5 La biblioteca math

26

7.6 La biblioteca tempfile

26

8 Escritura de m?odulos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

9 Excepciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

10 Clases y objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

10.1 M?etodos especiales

29

Creaci?on y destrucci?on de los objetos . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Representaci?on de los objetos como cadenas . . . . . . . . . . . . . . . . . . . . . . 29

Emulaci?on de secuencias y diccionarios . . . . . . . . . . . . . . . . . . . . . . . . . 30

Emulaci?on de tipos num?ericos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

10.2 Atributos especiales

30

10.3 Clases derivadas

31

10.4 Ejemplo: una clase para ?arboles de bu?squeda

31

10.5 Ejemplo: una clase para representar expresiones sencillas

33

10.6 Ejemplo: una clase para representar conjuntos de enteros no negativos

34

c Universitat Jaume I 2009-2010

4

II26 Procesadores de lenguaje

11 Un ejercicio adicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

A Soluciones a algunos ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

A.1 Sobre tipos de datos

36

A.2 Sobre control de flujo

37

A.3 Sobre funciones

38

B Preguntas frecuentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Introducci?on a Python

5

1. Introducci?on

Python es el lenguaje de programaci?on que utilizaremos para las pr?acticas de la asignatura. Algunas de las caracter?isticas que lo hacen interesante para nosotros son:

Es f?acil de utilizar.

Es un lenguaje "completo"; no sirve s?olo para programar scripts.

Tiene gran variedad de estructuras de datos incorporadas al propio lenguaje.

Tiene una gran cantidad de bibliotecas (libraries).

Permite la programaci?on modular, orientada a objetos y su uso como un lenguaje imperativo tradicional.

Es interpretado. Esto facilita el desarrollo (aunque ralentice la ejecuci?on).

Se puede utilizar desde un entorno interactivo.

Se puede extender f?acilmente.

Es muy expresivo: un programa Python ocupa mucho menos que su equivalente en C.

Este cuaderno pretende presentar los conceptos b?asicos de Python y capacitarte para comenzar a utilizarlo. Esto no supone que todas las caracter?isticas interesantes del lenguaje (ni siquiera todas las u?tiles para la realizaci?on de las pr?acticas) hayan sido exhaustivamente recogidas aqu?i.1

La exposici?on de los conceptos b?asicos del lenguaje ocupa la mayor parte de este cuaderno, intercalando en las explicaciones algunos ejercicios propuestos. Posteriormente, en la secci?on 11 se propone un nuevo ejercicio, mucho m?as completo que los vistos hasta entonces. En el ap?endice A se presentan soluciones a los ejercicios b?asicos. Finalmente, en el ap?endice B, puedes encontrar (junto con las correspondientes respuestas) algunas de las preguntas m?as frecuentes de los alumnos de cursos pasados.

2. Invocaci?on del int?erprete Python

Python suele estar instalado en /usr/local/bin o en /usr/bin,2 as?i que para invocar al int?erprete interactivo basta con escribir

$ python

El sistema arrancar?a con un mensaje parecido a:

Python 2.4.3 (#1, May 24 2008, 13:47:28) [GCC 4.1.2 20070626 (Red Hat 4.1.2-14)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>

Esto nos permite empezar a trabajar (>>> es el prompt del int?erprete). Para salir del int?erprete interactivo tenemos que pulsar Ctrl+D.

Si hemos almacenado un programa Python en un fichero (p.ej. fich.py), podemos ejecutarlo con la orden

$ python fich.py

1En (as?i como en , un mirror local) existe material suficiente como para resolver pr?acticamente cualquier duda que pueda surgir sobre Python.

2Puedes averiguar d?onde est?a en tu m?aquina mediante la orden which python.

c Universitat Jaume I 2009-2010

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download