Python
Upcoming SlideShare
Loading in...5
×
 

Python

on

  • 2,244 views

Presentació damunt Python al creant bits del 4-12-2009 al Parc Bit.

Presentació damunt Python al creant bits del 4-12-2009 al Parc Bit.

Statistics

Views

Total Views
2,244
Views on SlideShare
2,240
Embed Views
4

Actions

Likes
1
Downloads
35
Comments
0

1 Embed 4

http://www.slideshare.net 4

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Python Python Presentation Transcript

  • La tecnologia web al teu servei
    • Benvinguda
    • Introducció a Python (1,5 h)
    • Pausa (15 min)
    • Introducció a Django (1,5 h)
    • Pausa
    • Desplegament de Django (45 min)
    • ...
    twitter o flickr: #creant_bits
  • Què és Python
    • Un llenguatge interpretat orientat a objectes
    • Una eina de desenvolupament ràpid
    • Amb una sintaxi clara
    • Lliure i multiplataforma
    • Creat per Guido Van Rossum al 1991
    • I que pren el nom dels Monty Python Flying Circus
    • Amb llibreries per a pràcticament qualsevol cosa
  • Per a què serveix?
    • Administració de sistemes
    • Interfícies gràfiques
    • Programació web
    • Càlcul numèric
    • Aplicacions amb accés a BD
    • Integració (glue language)
    • Prototipat
    • Desenvolupament ràpid i àgil
  • Mancances
    • Sistemes de temps real
    • Sistemes amb temps de processament crítics
    • No es tant ràpid com els llenguatges compilats
    • El GIL pot ser un problema
    Però sempre hi ha maneres de fer-ho si convé!
  • Comencem!
    • python
    Editors:
    • Netbeans
    • Eclipse + PyDev
    • Vim, Gvim
    • Emacs
    • Ulipad
    • Notepad++
    • ...
  • Però abans un poc de Zen
  • Ara sí: Python com a calculadora
  • Una consola millor: ipython
    • Administració de sistemes
    • Consola més ”amigable”
    • Autocompletat
    • I un munt de drecers
    • És massa bo per no fer-ho servir!
  • ipython provau el help i el dir
  • Parlem ara de la identació
    • Forma part del llenguatge
    • Força la legibilitat
    • No té més problemes que pensar a configurar el nostre editor:
      • tabs a espais
      • 4 espais per tab
      • i ja de pàs posau-ho com utf-8
      • i retorns tipus unix
  • Cadenes
  • I tot és un objecte!
    • len(”tot és un objecte”)
    • ”hola”.split('o')
    • (3+4j).real
    • Feis dir(”hola”)
    • 5.3.is_integer()
  • Cadenes i Slice
    • Les cadenes són immutables
    • Podem accedir als seus elements tractact-les com a vectors
    • L'slicing ens permet seleccionar un sols caràcter, o un grup
      • cadena[0]
      • cadena[1:3]
      • cadena[-1]
  • Exemples amb cadenes
  • Llistes i tuples
    • Les llistes són mutables
    • Les tuples són inmutables
    • Poden contenir qualsevol objecte
    • Repetesc: qualsevol
  • Què podem fer amb les llistes?
    • Sumar (+)
    • Seleccionar-ne un subconjunt (slice)
    • Esborrar-ne elements (del llista[x])
    • Ordenar-les amb llista.sort()
  • Diccionaris
    • Es defineix amb dict
    • O bé creant-lo:
    • dir(diccionari)
  • Fent feina amb diccionaris
  • Estuctures de control
    • IF
    • No hi ha sèntencies case o switch!
    • Amb l'estructura de l'if i els diccionaris no és necessària
    if condicio: # elif condicio: # elif condicio: # else: #
  • Un parell de tipus més
    • Conjunts: Set
    • None
    • True
    • False
    • A efectes de comparació és fals: None, False, zero o buid
  • Exemples amb if
  • For
    • Ens permet recorre llistes o qualsevol cosa que permeti la iteració (recordau el duck typing?)
    • for element in llista:
    • codi
    • else:
    • codi
  • Exemples amb FOR
  • While
      while condicio:
        codi
      else:
        codi
  • Cream un arxiu
    • Podem crear programes i guardar-los a un arxiu
    • Configuram l'editor: tabs a espais
    • Tabs a 4 espais
    • UTF-8 i salt de línia Unix
    #!/usr/bin/env python # -*- coding: UTF-8 -*- # autor: # licence: if __name__ == '__main__': pass
  • Funcions #!/usr/bin/env python # -*- coding: UTF-8 -*- def fibo(n): """Calcula el número indicat per n de la successió de fibonnaci. An = An-1 + An-2 Paràmetres: n és un nombre enter. Nota: la seqüència comença pel zero. """ if n == 1: return 1 elif n==0: return 0 else: return fibo(n-1)+fibo(n-2) if __name__ == '__main__': print "fibonacci 2 %s: " % fibo(2) print fibo(3) print fibo(10) Definició de la funció documentació retorn execució
  • POO: classes #!/usr/bin/env python # -*- coding: UTF-8 -*- class Prova: "Classe de prova" def __init__(self, a, b): self.a = a self.b = b def suma(self): return self.a+self.b if __name__ == '__main__': p = Prova(2, 5) print p.suma() p = Prova('hola', ' com anam') print p.suma() constructor atributs mètode
  • POO (2) #!/usr/bin/env python # -*- coding: UTF-8 -*- class Prova: "Classe de prova" VALOR = 10 def __init__(self, a, b): self.a = a self.b = b def suma(self): "mètode lligat a la instància" return self.a+self.b @classmethod def where_am_i(cls): "Exemple de mètode estàtic. Mètode de classe" return __name__ @property def major(self): if self.a >= self.b: return self.a else: return self.b mètode de classe estàtic propietat
  • Els mòduls
    • from math import *
    • from math import sin
    • import math
    sin(10) en els dos primers casos math.sin(10) en el segon
  • Què ens falta?
    • Herència i polimorfisme
    • Decoradors, generadors, iteradors
    • Comprehensió de llistes, unicode, ...
    • Manipulació d'arxius
    • Creació de mòduls, instrospecció
    • Excepcions, try...finally
    • Estudi de les llibreries bàsiques
    • Depuració
  • Però ja tenim el 80%
    • Amb això ja podem entendre el codi
    • Començar a crear scripts
    • Llegir la documentació
  • Recordau!
    • Convé configurar l'editor
    • help i dir són els vostres amics
    • Python NO es Java, no és PHP, té la seva manera de programar
    • En cas de dubte consultau el Zen
    • I seguiu les normes d'estil PEP-8
  • Pausa! Gràcies! En uns minuts més! amb Django!