Introduccio a python

563 views
541 views

Published on

Breu introducció a python per a betabeers Menorca

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
563
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introduccio a python

  1. 1. Introducció a PythonCopyleft 2012 Santi Camps#bbmnk Betabeers MenorcaCopieu I compartiu aquestapresentació tant com vulgueu ..per favor
  2. 2. Llenguatge de programació creat per GuidoVan RossumÉs software lliureÉs multiplataforma (quasi totalment)És interpretat o pseudo-compilat (psyco)Combina el millor dun llenguatge de scriptamb el millor de lorientació a objectesAconsegueix productivitats 5-10 superiors aaltres llenguatges
  3. 3. Usos: the glue language Scripts de sistema Serveis i pàgines web Software de baix nivell Daemons Protocols dintercanvi Inteligència Artificial Software descriptori Absolutament de tot !!
  4. 4. Diverses entornscPythonjPythonIronPython...DjangoGoogle Applications DevelopmentWeb.pyPyramidTryton
  5. 5. Casos dèxit Youtube Dropbox Instagram Pinterest Mozilla Fundation Reddit OpenERP Google te 3 llenguages recomanats: C+ +, Java i python !!
  6. 6. Sintaxi i altresraresesIndentació per llei: barca = 5 madrid = 1 if (barca > madrid): print("Barca guanya de %i" % (barca - madrid))Tipus de dades bàsics: int / long / float string: suport unicode i implementat com a class booleans classes
  7. 7. Tipus de dades extranys Llistes: l = [1, 4, 9, 4] print l[2] Tuples: t = (3, 4, "beer") print t[2] Diccionaris: d = {uid: 2, name: betabeers menorca} print d[name] Sets: print set(l)
  8. 8. Classes i Objectesclass beer(object): def __init__(self, alc, name): self.alc = alc self.name = name def __str__(self): return "%s with %0.2f %% of alcohol" % (self.name, self.alc)b1 = beer(0.0, "San Miguel 0 0")b2 = beer(5.4, "Sant Climent Brown Ale")print "What do you prefer, %s or %s ?" % (str(b1), str(b2))
  9. 9. Herènciaclass damm(beer): base_name = " Damm" def __init__(self, alc, name=): self.alc = alc self.name = name + self.__class__.base_nameb1 = damm(4.8, "Estrella")b2 = beer(5.4, "Sant Climent Brown Ale")print "What do you prefer, %s or %s ?" % (str(b1), str(b2))
  10. 10. Control dErrors# Sense controlb3 = beer("Volldamm", 6.5)str(b3)# Amb control derrorstry: b3 = beer("Volldamm", 6.5) str(b3)except TypeError: print "Invalid type" import pdb; pdb.set_trace()
  11. 11. Dinamismedef producer(self): if hasattr(self.__class__, base_name): return self.name + is produced by + self.__class__.base_name else: return self.name + producer is unknownbeer.producer = producerprint b1.producer()print b2.producer()
  12. 12. Velocitatimport random, timellist = [random.random()*100000 for i in range(1000000)]t1 = time.time()maxitem = 0for item in llist: if item > maxitem: maxitem = itemprint "Found %i in %0.4f secs" % (maxitem, time.time() - t1)t1 = time.time()maxitem = max(llist)print "Found %i in %0.4f secs" % (maxitem, time.time() - t1)
  13. 13. MòdulsSINTAXI DIMPORTACIOimport nom_modulfrom nom_modul import funcio, classe, submodulfrom nom_modul.submodul import funcio, classe, submodulSINTAXI DE DEFINICIO: fitxer __init__.pyPYTHONPATHMODULS DISPONIBLES: os, xml, json, datetime, md5, urllib, calendar, locale, pickle ... més tot un món instalables
  14. 14. Documentacióhttp://docs.python.org/release/2.6.5/http://docs.python.org/release/2.6.5/modindex.htmlhttp://www.diveintopython.net/https://docs.djangoproject.com/en/1.4/
  15. 15. Cas pràctic Crear un servidor que escolti pel port 6666 i que converteixi a majúscules el que rebi i li afegeixi el nom de cadascú Crear un client que li envïi peticions al servidor Cridar-nos entre noltros
  16. 16. Life is Short(You Need Python)

×