Python

download Python

If you can't read please download the document

description

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

Transcript of Python

  • 1. La tecnologia web al teu servei
    • Benvinguda
  • 2. Introducci a Python (1,5 h)

3. Pausa (15 min) 4. Introducci a Django (1,5 h) 5. Pausa 6. Desplegament de Django (45 min) 7. ... twitter o flickr: #creant_bits 8. Qu s Python

  • Un llenguatge interpretat orientat a objectes

9. Una eina de desenvolupament rpid 10. Amb una sintaxi clara 11. Lliure i multiplataforma 12. Creat per Guido Van Rossum al 1991 13. I que pren el nom delsMonty Python Flying Circus 14. Amb llibreries per a prcticament qualsevol cosa 15. Per a qu serveix?

  • Administraci de sistemes

16. Interfcies grfiques 17. Programaci web 18. Clcul numric 19. Aplicacions amb accs a BD 20. Integraci (glue language) 21. Prototipat 22. Desenvolupament rpid i gil 23. Mancances

  • Sistemes de temps real

24. Sistemes amb temps de processament crtics 25. No es tant rpid com els llenguatges compilats 26. El GIL pot ser un problema Per sempre hi ha maneres de fer-ho si conv! 27. Comencem!

  • python

Editors:

  • Netbeans

28. Eclipse + PyDev 29. Vim, Gvim 30. Emacs 31. Ulipad 32. Notepad++ 33. ... 34. Per abans un poc de Zen 35. Ara s: Python com a calculadora 36. Una consola millor: ipython

  • Administraci de sistemes

37. Consola ms amigable 38. Autocompletat 39. I un munt de drecers 40. s massa bo per no fer-ho servir! 41. ipython provau el help i el dir 42. Parlem ara de la identaci

  • Forma part del llenguatge

43. Fora la legibilitat 44. No t ms problemes que pensar a configurar el nostre editor:

  • tabs a espais

45. 4 espais per tab 46. i ja de ps posau-ho com utf-8 47. i retorns tipus unix 48. Cadenes 49. I tot s un objecte!

  • len(tot s un objecte)

50. hola.split('o') 51. (3+4j).real 52. Feis dir(hola) 53. 5.3.is_integer() 54. Cadenes i Slice

  • Les cadenes sn immutables

55. Podem accedir als seus elements tractact-les com a vectors 56. L'slicing ens permet seleccionar un sols carcter, o un grup

  • cadena[0]

57. cadena[1:3] 58. cadena[-1] 59. Exemples amb cadenes 60. Llistes i tuples

  • Les llistes sn mutables

61. Les tuples sn inmutables 62. Poden contenir qualsevol objecte 63. Repetesc: qualsevol 64. Qu podem fer amb les llistes?

  • Sumar (+)

65. Seleccionar-ne un subconjunt (slice) 66. Esborrar-ne elements (del llista[x]) 67. Ordenar-les amb llista.sort() 68. Diccionaris

  • Es defineix amb dict

69. O b creant-lo: 70. dir(diccionari) 71. Fent feina amb diccionaris 72. Estuctures de control

  • IF

73. No hi ha sntencies case o switch! 74. Amb l'estructura de l'if i els diccionaris no s necessria ifcondicio: #elif condicio: # elif condicio: # else: # 75. Un parell de tipus ms

  • Conjunts: Set

76. None 77. True 78. False 79. A efectes de comparaci s fals: None, False, zero o buid 80. Exemples amb if 81. For

  • Ens permet recorre llistes o qualsevol cosa que permeti la iteraci (recordau el duck typing?)

82. for element in llista: 83. codi 84. else: 85. codi 86. Exemples amb FOR 87. While

  • while condicio:
    • codi
    else:
    • codi

88. Cream un arxiu

  • Podem crear programes i guardar-los a un arxiu

89. Configuram l'editor: tabs a espais 90. Tabs a 4 espais 91. UTF-8 i salt de lnia Unix #!/usr/bin/env python # -*- coding: UTF-8 -*- # autor: # licence: if __name__ == '__main__': pass 92. Funcions #!/usr/bin/env python # -*- coding: UTF-8 -*- def fibo(n): """Calcula el nmero indicat per n de la successi de fibonnaci. An = An-1 + An-2 Parmetres: n s un nombre enter. Nota: la seqncia comena 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 93. 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 mtode 94. 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): "mtode lligat a la instncia" return self.a+self.b @classmethod def where_am_i(cls): "Exemple de mtode esttic. Mtode de classe" return __name__ @property def major(self): if self.a >= self.b: return self.a else: return self.b mtode de classe esttic propietat 95. Els mduls

  • from math import *

96. from math import sin 97. import math sin(10) en els dos primers casos math.sin(10) en el segon 98. Qu ens falta?

  • Herncia i polimorfisme

99. Decoradors, generadors, iteradors 100. Comprehensi de llistes, unicode, ... 101. Manipulaci d'arxius 102. Creaci de mduls, instrospecci 103. Excepcions, try...finally 104. Estudi de les llibreries bsiques 105. Depuraci 106. Per ja tenim el 80%

  • Amb aix ja podem entendre el codi

107. Comenar a crear scripts 108. Llegir la documentaci 109. Recordau!

  • Conv configurar l'editor

110. help i dir sn els vostres amics 111. Python NO es Java, no s PHP, t la seva manera de programar 112. En cas de dubte consultau el Zen 113. I seguiu les normes d'estil PEP-8 114. Pausa! Grcies! En uns minuts ms! amb Django!