Diferència entre revisions de la pàgina «Programació»

De Cacauet Wiki
Salta a la navegació Salta a la cerca
Línia 36: Línia 36:
 
** Bàsiques: nombre (sencer, flotant), caràcter, booleà
 
** Bàsiques: nombre (sencer, flotant), caràcter, booleà
 
** Avançades: vector, llista, matriu, cua (queue), pila (stack), hash table, arbres (binaris, multicamí), grafs
 
** Avançades: vector, llista, matriu, cua (queue), pila (stack), hash table, arbres (binaris, multicamí), grafs
* [[Templates]]
+
* [[Python:_variables_estàtiques_o_de_classe]]
 
* [[Excepcions]] (amb algun exemple):
 
* [[Excepcions]] (amb algun exemple):
 
** Wikipedia: http://es.wikipedia.org/wiki/Manejo_de_excepciones
 
** Wikipedia: http://es.wikipedia.org/wiki/Manejo_de_excepciones
 
** [http://docs.python.org/2/tutorial/errors.html Tutorial sobre excepcions a python.org]
 
** [http://docs.python.org/2/tutorial/errors.html Tutorial sobre excepcions a python.org]
 
** Llistat d'excepcions en Python: http://docs.python.org/2/library/exceptions.html
 
** Llistat d'excepcions en Python: http://docs.python.org/2/library/exceptions.html
* [[Col·leccions i iteradors]]
 
* Concurrència: (llibreria threading) http://docs.python.org/2/library/threading.html
 
** Threads (fils d'execució)
 
** [[Timers]]:
 
*** Threading lib: http://docs.python.org/2/library/threading.html#timer-objects
 
*** Qt: http://doc.qt.digia.com/4.7/qtimer.html
 
** Signals
 
** Mutex (locks) i semàfors
 
* Fluxos (streams)
 
 
* [[Python: GUI]] (referències). Tutorial:
 
* [[Python: GUI]] (referències). Tutorial:
 
*# [[Python: GUI#Qt pas a pas...|PyQt: introducció]]: Aplicació, layouts, signals/slots i widgets
 
*# [[Python: GUI#Qt pas a pas...|PyQt: introducció]]: Aplicació, layouts, signals/slots i widgets
Línia 60: Línia 51:
 
** [[PyQt: connectant signals amb slots]]
 
** [[PyQt: connectant signals amb slots]]
 
** [[PyQt: Events de teclat]]
 
** [[PyQt: Events de teclat]]
 +
 +
=== Altres temes ===
 +
Més coses:
 +
* [[Templates]]
 +
* [[Col·leccions i iteradors]]
 +
* Concurrència: (llibreria threading) http://docs.python.org/2/library/threading.html
 +
** Threads (fils d'execució)
 +
** [[Timers]]:
 +
*** Threading lib: http://docs.python.org/2/library/threading.html#timer-objects
 +
*** Qt: http://doc.qt.digia.com/4.7/qtimer.html
 +
** Signals
 +
** Mutex (locks) i semàfors
 +
* Fluxos (streams)
 +
 
<br>
 
<br>
  

Revisió del 18:20, 16 des 2013

En aquest curs treballarem amb el llenguatges Python.

  • El llenguatge Python ha incrementat la seva quota de mercat progressivament, sobretot mercès l'impuls donat per Google amb el seu App Engine. És un llenguatge orientat a objectes nadiu i de més alt nivell que el C++, el que permet una manipulació més elegant amb un rendiment raonable.


UF4: Programació Orientada a Objectes. Fonaments

Llenguatges compilats i interpretats. Diferències i implicacions.

Referències:

Llenguatge Python

POO

Exercicis: POO Exercicis


UF5: POO. Llibreries de classes fonamentals

Altres temes

Més coses:


UF6: POO. Introducció a la persistència en BD

Per gestionar la persistència d'objectes en Python disposem de diverses eines:

  • Pickle: és una eina de serialització de baix nivell. Serà complicat utilitzar-la.
  • Shelve: utilitza pickle com a base, però simplifica la utilització.
  • ZODB:
    • Zope Object Database: versió data storage (1 fitxer)
    • ZEO (ZODB per socket, permet múltiples connexions simultànies)

Utilitzarem Shelve i ZODB en el curs. S'utilitzen de manera molt similar, disposem d'una arrel (root), que és un diccionari persistent, on poden enregistrar els nostres objectes. La diferència més important és que a ZODB cal fer un commit, i que té la possibilitat de multithreading mitjançant l'accés amb ZEO.


Exercicis

  1. QtreGimp: crearem formes geomètriques i les enregistrarem en arxius amb shelve.
  2. Xat amb ZEO: programa de xat amb el servidor ZODB per xarxa.