Está en la página 1de 160

Raúl González Duque

Raúl González Duque


Python para todos
CONTENIDO
INTRODUCCIÓN

¿Qué es Python?

Lenguaje interpretado o de script

Tipado dinámico
Fuertemente tipado

Multiplataforma

Orientado a objetos

¿Por qué Python?


Instalación de Python
Herramientas básicas
MI PRIMER
PROGRAMA EN
PYTHON
TIPOS BÁSICOS
Números

Enteros
Reales
Complejos

Operadores

Operadores aritméticos
Operadores a nivel de bit
Cadenas
Booleanos
COLECCIONES

Listas
Tuplas
Diccionarios
CONTROL DE FLUJO

Sentencias condicionales

if
if … else
if … elif … elif … else

A if C else B
Bucles

while
for … in
FUNCIONES
ORIENTACIÓN A
OBJETOS

Clases y objetos
Herencia
Herencia múltiple
Polimorfismo
Encapsulación
Clases de “nuevo-estilo”

Métodos especiales
REVISITANDO
OBJETOS

Diccionarios
Cadenas
Listas
PROGRAMACIÓN
FUNCIONAL

Funciones de orden superior


Iteraciones de orden superior so-
bre listas

map(function, sequence[, sequence, ...])


reduce(function, sequence[, initial])

Funciones lambda
Comprensión de listas
Generadores
Decoradores
EXCEPCIONES
MÓDULOS Y
PAQUETES

Módulos
Paquetes
ENTRADA/SALIDA Y
FICHEROS

Entrada estándar
Parámetros de línea de comando

Salida estándar
Archivos

Lectura de archivos
Escritura de archivos

Mover el puntero de lectura/escritura


EXPRESIONES
REGULARES

Patrones
Usando el módulo re
SOCKETS
INTERACTUAR CON
WEBS
THREADS

¿Qué son los procesos y los


threads?
El GIL
Threads en Python
Sincronización
Datos globales independientes

Compartir información
SERIALIZACIÓN DE
OBJETOS
BASES DE DATOS

DB API
Variables globales
Excepciones
Uso básico de DB-API
Tipos SQL

Otras opciones
DOCUMENTACIÓN

Docstrings
Pydoc
Epydoc y reStructuredText
PRUEBAS

Doctest
unittest / PyUnit
Preparación del contexto
DISTRIBUIR
APLICACIONES
PYTHON

distutils
setuptools
Integración con PyPI
Eggs
Otros cambios destacables
Crear ejecutables .exe
ÍNDICE

Símbolos
__call__ 105
__cmp__ 51
__del__ 51
__doc__ 75, 125
__init__ 43
__len__ 51
__main__ 74
__name__ 74
__new__ 51
__str__ 51

A
archivos 82
atributos 42

B
bases de datos 117
bool 22
break 33

C
cadenas, métodos 54
candados 106
clases 42
clases de nuevo estilo 50
class 43
close 82
cola multihilo 111
colecciones
diccionarios 27
listas 24
tuplas 26
comentarios 9
compile 91
comprensión de listas 61
condiciones, sincronización 108
continue 33
cookies 100
count 45
cPickle 114

D
db api 117
decoradores 63
def 36
diccionario, métodos 53
distutils 143
docstring 36
docstrings 125
doctest 135
docutils 127

E
eggs 150
elif 31
else 30
encapsulación 48
env 127
epydoc 109
eventos 65
excepciones 66
except 85

F
False 22
82
82
59
67
90
17
for ... in 34
fork 102
from ... import 73
fuertemente tipado 8
funciones 36
funciones de orden superior 57
funciones lambda 60

G
generadores 62
GIL 103
Global Interpreter Lock 103

H
hashbang 13
help 36
herencia 45
herencia múltiple 46
hilos 102

I
if 29
import 72
input 78
int 10. Véase aquí enteros
iPython 39

J
Jython 9

K
Komodo 11

L
lambda 60
lenguaje compilado 7
lenguaje de script 7
lenguaje interpretado 7
lenguaje semi interpretado 7
listas, métodos 55
locks 106

M
map 59
marshal 113
marshalling 113
match 86
métodos 42
module 75
módulos 72
mutex 106

N
name mangling 49
None 36

O
objetos 42
open 82
operaciones relacionales 22
operadores a nivel de bit 20
operadores aritméticos 18
operadores lógicos 22
orientación a objetos 8

P
paquetes 75
parámetros, funciones 37
parámetros por línea de comando 78
parámetros, valores por defecto 38
particionado 25
paso por referencia 39
paso por valor 39
patrones (expresiones regulares) 85
pickle 113
47
print 78
procesos 102
programación funcional 57
programación orientada a objetos 42
propiedades 49
pruebas 135
py2exe 152
PyDEV 11
pydoc 126
PyPI 148
PyPy 9
Python
9
instalación 8
ventajas 74
PYTHONPATH 139

R
raise 67
raw, cadena 21
raw_input 77
read 83
readline 83
readlines 83
reduce 60
reStructuredText 127
return 40

S
search 90
seek 83
self 44
semáforos 107
serialización 113
setuptools 147
sharpbang 13
shebang 13
shelve 116
sincronización 106
slicing 25
sockets 92
split 91
sub 91
subclase 45
superclase 45
sys.argv 78

T
tell 84
141
tests 135
threading 104
threads 102
tipado dinámico 7
tipado fuerte 8
tipos básicos 15
booleanos 22
cadenas 21
números
complejos 16
enteros 17
reales 22
True 66
try 15

U
unittest 139
upper 45
urllib 96
urllib2 96

V
valores inmutables 40
valores mutables 40

W
while 32
Wing IDE 11
write 83
writelines 83

Y
yield 62

También podría gustarte