Python2 for beginners (P4B)

Luca Ferroni

**Software Libero per i territori**

1: Base


In [6]:
print("Hello students!")
students = ['Emanuele', 'Simone', 
     'Elena', 'Gianluca', 
     'Paolo', 'Simone0', 
     'Sonia']

students = []
students.append('Patrizia')
students += ['Monica']

for s in students:
    print("Ciao {}".format(s))
    print("Ciao %s" % s)


Hello students!
Ciao Patrizia
Ciao Patrizia
Ciao Monica
Ciao Monica

2: Persistenza e ricerca

3: OOP e profilazione del codice

4: Unicode, sottoprocessi e pacchettizzazione

CAPITOLO 1: base

TEORIA:

  • vedo il primo codice python,
  • principi e strumenti di base (la shell python, pip)
  • numeri, stringhe, condizioni, sequenze, insiemi, dizionari,
  • funzioni,
  • stack di eccezioni
  • unittest e py.test

PRATICA:

  • implementazione inserimento anagrafica,
  • test driven development: il mio primo test
  • l'utente fornisce i dati in input, il programma effettua un calcolo basandosi su un dizionario e restituisce i dati in output
  • si mostra come creare un repository git per salvare le modifiche al programma
  • si scrive il README.rst

CAPITOLO 2: persistenza e ricerca

TEORIA: 

  • gestione file 
  • xml con ElementTree 
  • csv 
  • DB API e sqlite 
  • espressioni regolari 

PRATICA: 

  • il software salva i dati su file in vari formati 
  • salvataggio su database sqlite 
  • ricerca dei dati preesistenti con espressioni regolari 

CAPITOLO 3: OOP, refactoring e profilazione

TEORIA: 

  • OOP: classi base e derivate, attributi di classe e di istanza, metodi statici,  properties, overload e override 
  • Profilazione del codice 

PRATICA: 

    

  • refactoring ad oggetti per il salvataggio dati in vari formati 
  • profilazione con mprofile e cProfile 
  • avvio realizzazione serializzatori csv/xml/json in OOP 

CAPITOLO 4: unicode, sottoprocessi pacchettizzazione

TEORIA: 

  • Unicode encoding/decoding e problemi 
  • Sottoprocessi 
  • Pacchettizzazione PyPi con setup.py  

PRATICA: 

  • fine realizzazione serializzatore dati in vari formati 
  • Test unicode 
  • Esecuzione sottoprocesso 
  • Pacchettizzazione 

In [ ]: