• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Python
 

Python

on

  • 2,203 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,203
Views on SlideShare
2,199
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!