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 20 de Octubre del 2019 (Publicado el 17 de Julio del 2019)
302 visualizaciones desde el 17 de Julio del 2019
506,4 KB
38 paginas
Creado hace 10a (14/07/2009)
Introducción a

Python

Unlux 2007

Facundo Batista

Arte gráfico: Diana Batista
1

7
0
0
2

 

x
u
l
n
U


 

 

n
o
h
t
y
P
 
a
 

ón

i
c
c
u
d
o
r
t
n
I

Indice

➢  ¿Qué es Python?

➢  Corriendo e interpretando

➢  Tipos de datos

➢  Controles de flujo

7
0
0
2

 

➢  Encapsulando código

x
u
l
n
U


 

n
o
h
t
y
P
 
a
 

i
c
c
u
d
o
r
t
n
I

 

➢  Tres detalles

ón

2

¿Qué es Python?

➢  Algunas características

➢  Propiedades del lenguaje

➢  Biblioteca estándar (con las pilas puestas)

7
0
0
2

 

x
u
l
n
U


 

➢  Python Argentina

 

i
c
c
u
d
o
r
t
n
I

n
o
h
t
y
P
 
a
 

ón

3

Algunas características

●  Gratis Y Libre

✗ Y Open Source, todo por el mismo precio: cero  

●  Maduro (+14 años)

✗ Diseño elegante y robusto
✗ Pero evoluciona

●  Fácil de aprender

✗ Se lee como pseudo­código
✗ Sintaxis sencilla, lenguaje muy ortogonal

7
0
0
2

 

●  Extremadamente portable

 

✗ Unix, Windows, Mac, BeOS, Win/CE
✗ DOS, OS/2, Amiga, VMS, Cray...

x
u
l
n
U


 

n
o
h
t
y
P
 
a
 

i
c
c
u
d
o
r
t
n
I

ón

4

Propiedades del lenguaje

●  Compila a bytecode interpretado

✗ La compilación es implícita y automática
✗ Tipado dinámico, pero fuerte

●  Multi­paradigma 

✗ Todo son objetos
✗ Pero puede usarse de manera procedural

●  Módulos, clases, funciones, generadores

7
0
0
2

 

●  Viene con las baterias incluidas

 

✗ Extensa biblioteca estándar
✗ Clave en la productividad de Python

x
u
l
n
U


 

n
o
h
t
y
P
 
a
 

ón

5

i
c
c
u
d
o
r
t
n
I

Más propiedades

●  Manejo moderno de errores

✗ Por excepciones
✗ Muy útil detalle de error

●  Tipos de datos de alto nivel

✗ Enteros sin límites, strings, flotantes, complejos
✗ Listas, diccionarios, conjuntos

7
0
0
2

●  Intérprete interactivo

 

x
u
l
n
U


 

n
o
h
t
y
P
 
a
 

i
c
c
u
d
o
r
t
n
I

✗ Clave en el bajo conteo de bugs
✗ Acelera sorprendentemente el tiempo de desarrollo
✗ Permite explorar, probar e incluso ver la documentación

 

ón

6

Las baterías incluídas

●  La Biblioteca Estándar ayuda con...

✗ Servicios del sistema, fecha y hora, subprocesos, sockets,  
internacionalización y localización, base de datos, threads, 
formatos zip, bzip2, gzip, tar, expresiones regulares, XML 
(DOM y SAX), Unicode, SGML, HTML, XHTML, XML­
RPC (cliente y servidor), email, manejo asincrónico de 
sockets, clientes HTTP, FTP, SMTP, NNTP, POP3, IMAP4, 
servidores HTTP, SMTP, herramientas MIME, interfaz con 
el garbage collector, serializador y deserializador de objetos, 
debugger, profiler, random, curses, logging, compilador, 
decompilador, CSV, análisis lexicográfico, interfaz gráfica 
incorporada, matemática real y compleja, criptografía (MD5 
y SHA), introspección, unit testing, doc testing, etc., etc...

x
u
l
n
U


7
0
0
2

 

 

 

n
o
h
t
y
P
 
a
 

ón

7

i
c
c
u
d
o
r
t
n
I

Le ponemos más pilas

● Bases de datos

✗ MySQL, PostgresSQL, MS SQL, Informix, DB/2, Sybase

● Interfaces gráficas

✗ Qt, GTK, win32, wxWidgets, Cairo

● Frameworks Web

✗ Django, Turbogears, Zope, Plone, webpy 

● Y un montón más de temas...

ón

8

7
0
0
2

 

x
u
l
n
U


✗ PIL: para trabajar con imágenes
✗ PyGame: juegos, presentaciones, gráficos
✗ SymPy: matemática simbólica
✗ Numpy: calculos de alta performance
✗ ...

 

i
c
c
u
d
o
r
t
n
I

 

n
o
h
t
y
P
 
a
 

Python Argentina

●  ¿Quienes somos?

✗ Grupo de entusiastas de Python
✗ Referencia para la aplicación y difusión del lenguaje

●  ¿Cómo participar?

✗ Suscribiéndose a la Lista de Correo (somos +250)
✗ Asistiendo a las reuniones y eventos
✗ Más info en la página: www.python.com.ar

7
0
0
2

●  PyAr es federal

 

x
u
l
n
U


 

i
c
c
u
d
o
r
t
n
I

n
o
h
t
y
P
 
a
 

 

✗ Se pueden deben organizar reuniones en otras provincias
✗ No hay que pedir permiso, sólo coordinarlas

ón

9

Corriendo e interpretando

●  Menos charla y más acción

✗ Python es interpretado
✗ No hace falta compilar
✗ Ciclo corto de pruebas
✗ Y encima tenemos el Intérprete Interactivo

●  Go! Go! Go!

7
0
0
2

 

x
u
l
n
U


✗ Acá es donde vamos a la realidad, :)
✗ ¡Juro que antes andaba!
✗ Go!

 

 

n
o
h
t
y
P
 
a
 

i
c
c
u
d
o
r
t
n
I

ón

10

Tipos de datos

➢  Haciendo números, y más números

➢  Cadenas, y como accederlas

➢  Listas, listas, y muchas listas

➢  Conjuntos

7
0
0
2

 

➢  Diccionarios, ¡diccionarios!

x
u
l
n
U


 

i
c
c
u
d
o
r
t
n
I

 

n
o
h
t
y
P
 
a
 

ón

11

Haciendo números
Enteros
>>> 2+2
4
>>> (50 ­ 5*6) / 4
5
>>> 7 / 3
2
>>> 7 % 3
1
>>> 23098742098472039 * 120894739
2792516397223089453702821

7
0
0
2

 

x
u
l
n
U


Floats
>>> 3 * 3.75 / 1.5
7.5
>>> 7 / 2.3
3.0434782608695654

 

 

n
o
h
t
y
P
 
a
 

ón

12

i
c
c
u
d
o
r
t
n
I

Más números

Complejos
>>> 2 + 3j
(2+3j)
>>> (2+3j * 17) ** (2+5j)
(­0.91258832667469336­0.82498333629811516j)
>>> (3­4j) ** 2.1
(­10.797386682316887­27.308377455385106j)

 

7
0
0
2

Recortando los decimales
>>> int(12.3)
12
>>> round(2.7526)
3.0
>>> round(2.7526, 2)
2.75

x
u
l
n
U


 

 

n
o
h
t
y
P
 
a
 

ón

13

i
c
c
u
d
o
r
t
n
I

Cadenas
Comillas, apóstrofos, triples
>>> 'Una cadena es una secuencia de caracteres'
'Una cadena es una secuencia de caracteres'
>>> "Ella dijo: 'si'"
"Ella dijo: 'si'"
>>> """Una linea
... y la otra"""
'Una linea\ny la otra'

7
0
0
2

Algunas operaciones
>>> "Hola" + " mundo"
'Hola mundo'
>>> "Eco " * 4
'Eco Eco Eco Eco '
>>> "     Hola mundo     ".strip()
'Hola mundo'
>>> len("Hola mundo")
10

n
o
h
t
y
P
 
a
 

 

 

x
u
l
n
U


 

ón

i
c
c
u
d
o
r
t
n
I

14

Accediendo a las cadenas
Por posición
>>> saludo = 'Hola mundo'
>>> saludo[0]
'H'
>>> saludo[3]
'a'
>>> saludo[­2]
'd'

7
0
0
2

Rebanando
>>> saludo[2:5]
'la '
>>> saludo[2:8]
'la mun'
>>> saludo[:4]
'Hola'
>>> saludo[­2:]
'do'

n
o
h
t
y
P
 
a
 

 

 

x
u
l
n
U


 

ón

i
c
c
u
d
o
r
t
n
I

15

Listas
Corchetes, varios tipos de elementos
>>> a = ['harina', 100, 'huevos', 'manteca']
>>> a
['harina', 100, 'huevos', 'manteca']

Accedemos como cualquier secuencia
>>> a[0]
'harina'
>>> a[­2:]
['huevos', 'manteca']

7
0
0
2

 

x
u
l
n
U


Concatenamos, reemplazamos
>>> a + ['oro', 9]
['harina', 100, 'huevos', 'manteca', 'oro', 9]
>>> a[0] = "sal"
>>> a
['sal', 100, 'huevos', 'manteca']

 

 

n
o
h
t
y
P
 
a
 

ón

16

i
c
c
u
d
o
r
t
n
I

Y dale con las listas
Pueden tener incluso otras listas
>>> a
['sal', 100, 'huevos', 'manteca']
>>> a[1] = ["Hola", 7]
>>> a
['sal', ['Hola', 7], 'huevos', 'manteca']

7
0
0
2

Borramos elementos
>>> del a[­1]
>>> a
['sal', ['Hola', 7], 'huevos']
Tenemos otros métodos
>>> a.index(“huevos”)
2
>>> a.sort()
>>> a
[['Hola', 7], 'huevos', 'sal']

x
u
l
n
U


 

 

 

n
o
h
t
y
P
 
a
 

ón

17

i
c
c
u
d
o
r
t
n
I

Conjuntos
Definimos con set()
>>> juego = set("typus pocus")
>>> juego
set([' ', 'c', 'o', 'p', 's', 'u', 't', 'y'])
>>> hechizo = set(["h", "o", "c", "u", "s", " "])
>>> hechizo.update(set("pocus"))
>>> hechizo
set([' ', 'c', 'h', 'o', 'p', 's', 'u'])

 

7
0
0
2

Operamos
>>> hechizo ­ juego
set(['h'])
>>> hechizo & juego
set([' ', 'c', 'o', 'p', 's', 'u'])
>>> hechizo.remove("h")
>>> hechizo.add("Merlin")
>>> hechizo
set([' ', 'c', 'Merlin', 'o', 'p', 's', 'u'])

n
o
h
t
y
P
 
a
 

x
u
l
n
U


 

 

ón

i
c
c
u
d
o
r
t
n
I

18

Diccionarios

Definimos con llaves
>>> dias = {"enero": 31, "junio": 30, "julio": 30}
>>> dias
{'julio': 30, 'enero': 31, 'junio': 30}
>>> dias["enero"]
31
>>> dias["agosto"] = 31
>>> dias["julio"] = 31
>>> dias
{'julio': 31, 'enero': 31, 'junio': 30, 'agosto': 31}
>>> cualquiercosa = {34: [2,3], (2, 3): {3: 4}}

7
0
0
2

 

Borrando
>>> del dias["julio"]
>>> dias
{'enero': 31, 'junio': 30, 'agosto': 31}

 

x
u
l
n
U


 

n
o
h
t
y
P
 
a
 

ón

19

i
c
c
u
d
o
r
t
n
I

Más diccionarios

Viendo qué hay
>>> "marzo" in dias
False
>>> dias.keys()
['enero', 'junio', 'agosto']
>>> dias.values()
[31, 30, 31]

 

7
0
0
2

Otros métodos
>>> dias.get("agosto", "No tenemos ese mes")
31
>>> dias.get("mayo", "No tenemos ese mes")
'No tenemos ese mes'
>>> dias.pop("agosto")
31
>>> dias
{'enero': 31, 'junio': 30}

x
u
l
n
U


 

 

n
o
h
t
y
P
 
a
 

ón

20

i
c
c
u
d
o
r
t
n
I

Controles de flujo

➢  ¿Que pasaría si...

➢  ...por cada uno de esos hacemos algo...

➢  ...mientras esperamos otra cosa?

 

➢  Eso sí, ¡hasta que se rompa algo!

7
0
0
2

x
u
l
n
U


 

i
c
c
u
d
o
r
t
n
I

 

n
o
h
t
y
P
 
a
 

ón

21

Si tal cosa o la otra

Estructura del if
a = ...
if a == 0:
    print "Ojo con el valor de b"
    b = 0
elif a > 100 or a < 0:
    print "Error en el valor de a"
    b = 0
else:
    b = c / a
print b

7
0
0
2

 

Eso que hay después del if: 
● or, and, not
● < > == != in is
● Todo evalua a Falso o Verdadero

 

x
u
l
n
U


 

n
o
h
t
y
P
 
a
 

ón

22

i
c
c
u
d
o
r
t
n
I

Por cada uno
Estructura del for
>>> bichos = ["pulgas", "piojos", "cucarachas"]
>>> for bich in bichos:
...     print "Mata­" + bich
...
Mata­pulgas
Mata­piojos
Mata­cucarachas

 

7
0
0
2

Si queremos la secuencia de números
>>> range(5)
[0, 1, 2, 3, 4]
>>> for i in range(5):
...     print i**2
...
0
al
16

n
o
h
t
y
P
 
a
 

x
u
l
n
U


 

 

ón

i
c
c
u
d
o
r
t
n
I

23

Mientras tanto...

Estructura del while
>>> a = 0
>>> while a<1000:
...     print a**5
...     a += 3
0
243
7776
...
980159361278976
995009990004999

7
0
0
2

 

Al igual que el for, tiene:
● continue: Vuelve a empezar al principio del loop
● break: Corta el loop y sale
● else: Lo ejecuta si no cortamos con el break

 

x
u
l
n
U


 

n
o
h
t
y
P
 
a
 

ón

24

i
c
c
u
d
o
r
t
n
I

Excepciones

Suceden cuando algo se escapa de lo normal
>>> 14 / 2
7
>>> 14 / 0
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero

 

7
0
0
2

Podemos capturarlas
>>> try:
...     print 14 / 0
... except ZeroDivisionError:
...     print "error!"
... 
error!

x
u
l
n
U


 

 

n
o
h
t
y
P
 
a
 

ón

25

i
c
c
u
d
o
r
t
n
I

Manejando lo excepcional

Es muy versátil
● try: Acá va el bloque de código que queremos supervisar
● except: Atrapa todo, o sólo lo que se le especifique
● else: Si no
  • Links de descarga
http://lwp-l.com/pdf16316

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