Upload
emanuel-martinez
View
216
Download
0
Embed Size (px)
Citation preview
8/18/2019 De 0 a Python en 45 Minutos...
1/24
Autor:● Daniel F Moisset - [email protected] - Except
Modificaciones:● Natalia B Bidart - [email protected]
Una breve introducción a Python
De 0 a Python en 45'
8/18/2019 De 0 a Python en 45 Minutos...
2/24
Resumen de la charla
Introducción
Conceptos generales (con código)
Código Más código
Ejemplos
Conclusión (python rulez)
8/18/2019 De 0 a Python en 45 Minutos...
3/24
Introducción
Python es un lenguaje creado en 1991 por
Guido van Rossum
Software Libre
VHLL, interpretado, OO, dinámico
Versión actual: 2.5 (2.4 se usa mucho)
“Viene con las pilas incluidas”
http://python.org
http://en.wikipedia.org/wiki/Very_high-level_programming_languagehttp://python.org/http://python.org/http://en.wikipedia.org/wiki/Very_high-level_programming_language
8/18/2019 De 0 a Python en 45 Minutos...
4/24
Usando python
Modo interactivo
pythonPython 2.4.2 (#2, Sep 30 2005, 21:19:01)[GCC 4.0.2 20050808 (prerelease) (!"nt"
4.0.14"!"nt"8)$ on l%n"&2'ype help, opyr%*ht, re+%ts or l%ense or-ore %nor-at%on.
a = 3+8 print a11
6 * 954
Modo scripting
python programa.py
8/18/2019 De 0 a Python en 45 Minutos...
5/24
Tipos básicos y valores
Enteros (%nt/lon*): 0, 1, 42, /,12345/89012345/890999
Reales (loat): 3.14, .5, 2.1e25
Complejos (o-ple&): 3.2, (12./)
Booleanos (!ool): 'r"e, alse
one'ype: one
8/18/2019 De 0 a Python en 45 Minutos...
6/24
Operadores básicos
Aritmética (, , , 6, 7, )
6+5 16/3 16.0/311 5 5.333333333 6+2.5 16%3 7**17
8.5 1 2323051398/20/ Comparación (, , ;, , ;, )
3==7 3
8/18/2019 De 0 a Python en 45 Minutos...
7/24
Namespaces
•Nombres: a-! A-"! #-$! %
# Crea%
8/18/2019 De 0 a Python en 45 Minutos...
8/24
Secuencias
Cadenas (str%n*/"n%o+e)DB%h%er%D, >DE%**%ns, "DSan artFnD="F -e pon*o a antaral o-pHs +e la ?%*Iela...
Listas (l%st) )32+5,ython-[3, /, DPythonD$ [$[$
Tuplas (t"ple) 32+5,ython"(3, /, DPythonD) 1"(1,)
()()
3 / DPythonD
3 / DPythonD
8/18/2019 De 0 a Python en 45 Minutos...
9/24
Mutables e Inmutables
Sólo los objetos “mutables” pueden alterarse
entre su nacimiento y muerte
Mutables: listas, diccionarios, tipos de datos
“caseros” (clases)
Inmutables: el resto de las cosas que vimos.
3 / DPythonD
/
tuple
list
one
8/18/2019 De 0 a Python en 45 Minutos...
10/24
Operaciones sobre secuencias
Acceso, slicing
$ita=)123)-- a(ena=,ython! $ita)2-
3 a(ena)1-DD a(ena)35-DhoD $ita)1-
[2, 3, [$$ Concatenación
a*3DaaaD 12"+3"
(1, 2, 3, 4)
Comparación
(am
8/18/2019 De 0 a Python en 45 Minutos...
11/24
Operaciones en secuencias
Pertenencia
2 in )123)--'r"e te in tomate
'r"e )23- in )123)--alse
Conversión
$it aa"
[DD, DaD, DsD, DaD$ t'p$e)125-"(1, 2, 5) tr)12-"D[1, 2$D
Borrado*
$ita=)5713.2- (e$ $ita)0- $ita
[/, 1, 4, 3.2$ (e$ $ita)2- $ita[/, 1$
8/18/2019 De 0 a Python en 45 Minutos...
12/24
Builtins
$en;!"%lt%n "nt%on len $en,ython!" + $en)123-"10 =$en ,ython!" + )123-"10 range10"[0, 1, 2, 3, 4, 5, , /, 8, 9$ range 8 13"[8, 9, 10, 11, 12$ range8255"[8, 13, 18, 23$ $ = )1 3 5 8 2 7- min$" ma$" 'm$"(1, 42, 4) orte($"[1, 3, 5, /, 8, 42$
8/18/2019 De 0 a Python en 45 Minutos...
13/24
More Builtins
a 7.5" ro'n( 7.5"(/.5, 8.0) =inp'tngree a$or "Jn*rese ?alor: 3+7 10 y=ra:;inp'tngree a$or "Jn*rese ?alor: 3+7 yD3/D =i$e(ato.tt"444 he$pinp't"
Eelp on !"%lt%n "nt%on %np"t %n -o+"le KK!"%lt%nKK:
%np"t(...) %np"t([pro-pt$) ?al"e
L"%?alent to e?al(raMK%np"t(pro-pt)).
8/18/2019 De 0 a Python en 45 Minutos...
14/24
Diccionarios
3
4
42
Asociaciones *la+e → ,alor
Acceso rpido (=ey2 2 $ah3>
()ey-42 $en("3 ()aia-=)- (e$ ()2- 2 in (alse $it("[D!lahD, DNeyD, D?a%aD$ (.a$'e"[3, 42, [$$
DNeyD
D!lahD
42
8/18/2019 De 0 a Python en 45 Minutos...
15/24
Manejando objetos
o.nombre accede al namespace dentro de o
(.a$'e;!"%lt%n -etho+ ?al"es o +%t o!et at 0&!/+8/4 3.5+2".imag
2.0 $=)135- $.appen(9" $[1, 3, 5, 9$
+%r(o ) lista los elementos del namespace de o
(ir )135-"...Dappen+D, Do"ntD, De&ten+D, D%n+e&D, D%nsertD, DpopD,Dre-o?eD, Dre?erseD, DsortD$
8/18/2019 De 0 a Python en 45 Minutos...
16/24
Algunas instrucciones
Output:
print ?e$$o print ?e$$on print y
Condicional:
i not n in ( i $en$"41 print No et@ print 'n arhio e$e print $en$"arhioi eha4hoy
o$or = re(e$i eha==hoy o$or = ye$$o:e$e o$or = green
8/18/2019 De 0 a Python en 45 Minutos...
17/24
Otras instrucciones
Ciclos:
or reng$on in i$eteto.tt".rea($ine" i python in reng$on print reng$on
:hi$e n != 1 i n % 2==0 n = n/2 e$e n = 3*n + 1
!reaN, ont%n"e try / %nally, try / e&ept, assert, ra%se
pass
8/18/2019 De 0 a Python en 45 Minutos...
18/24
Módulos
Los módulos son objetos compartidos
Hay módulos estándares, bibliotecas, de
usuario
import o re o.ytem a$" ="*"st 200S" o '" Oe 'h r Sa 1 2 3 4 5 / 8 9 10 11 12
13 14 15 1 1/ 18 1920 21 22 23 24 25 22/ 28 29 30 31
0 rom o import ytem popen
8/18/2019 De 0 a Python en 45 Minutos...
19/24
Funciones
Con (e! de+uel+en +alores con ret'rn(e men'menae opione" m'etra opione menae y pi(e 'n a$or print ABNC" or opion in opione print opion opione)opion- ret'rn ra:;inp'tmenae"
&armetros opcionales(e 'mar;iamonto ia=21"
tota$ = monto * 100.0+ia"/100 ret'rn tota$print 'mar;ia311.75" 'mar;ia 67 10.5"
&armetros +ariables(e prome(io *$"
ret'rn 'm$"/$en$"
8/18/2019 De 0 a Python en 45 Minutos...
20/24
Clases
Tipos de objetos y sus operaciones$a tor tor on i$mograDa
(e ;;init;;e$ nomre" e$.nomre = nomre
e$.i$mograia = )- (e at'ar e$ pe$i'$a" e$.i$mograia.appen(pe$i'$a" (e at'oBn e$ pe$i'$a" ret'rn pe$i'$a in e$.imograia" (e at'oEon e$ ator"
or pe$i'$a in e$.i$mograia i ator.at'oBnpe$i'$a" ret'rn &r'e ret'rn #a$ea = tor?'go Feaing"a.at'ar Gae"a.at'ar Aatri"
i a.at'oEon " ...
8/18/2019 De 0 a Python en 45 Minutos...
21/24
Conclusiones
Es fácil!
Se escribe y se lee rápido
Es práctico (y viene con las pilas puestas)
Es poderoso
Es Software Libre
Tiene una gran comunidad:
http://python.com.ar/
http://python.com.ar/http://python.com.ar/
8/18/2019 De 0 a Python en 45 Minutos...
22/24
Preguntas?
Autor: Daniel F Moisset
Modificaciones: Natalia B Bidart
mailto:[email protected]:[email protected]:[email protected]:[email protected]
8/18/2019 De 0 a Python en 45 Minutos...
23/24
Que cosas puedo hacer?
Scripts "para salir del paso"
Aplicaciones de BDD
Cliente/Servidor Servicios Web, Aplicaciones Web
Software de Escritorio
etc...
8/18/2019 De 0 a Python en 45 Minutos...
24/24
En que plataformas corre
GNU/Linux
Windows 9x, NT, 2000, XP, ...
Mac OS Classic, Mac OS X *BSD, Solaris, varios Unices
Embedded (Palm)
Nokia 6000 series
y más....