Corso Python Deltapromo - Lezione 2

  • 661 views
Uploaded on

Prima lezione del corso di programmazione che ho tenuto presso Deltapromo

Prima lezione del corso di programmazione che ho tenuto presso Deltapromo

More in: Technology , Design
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
661
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
6
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Transcript

  • 1. INTRODUZIONE A PYTHON Lezione 2 Paolo Ferretti per Deltapromo URL corso: http://corso-deltapromo.paoloferretti.net/ http://www.paoloferretti.net paolo@paoloferretti.net
  • 2. ARGPARSE• Parser per linea di comando• Aggiunto in Python 2.7 • prima si usava optparse che attualmente è deprecato
  • 3. ARGPARSE• Configurare un parser • import argparse parser = argparse.ArgumentParser(description=This is a PyMOTW sample program)• Definire gli argomenti • parser.add_argument(-a, action="store_true", default=False) parser.add_argument(-b, action="store", dest="b")
  • 4. DATETIME• Funzioni e classi per la manipolazione delle date• Maneggiare SEMPRE le date con questo modulo• Utile anche quando si devono gestire i fusi orari
  • 5. DATETIMEt = datetime.time(1, 2, 3)t 01:02:03t.hour 1t.minute 2t.second 3t.microsecond 0t.tzinfo None
  • 6. DATETIME datetime.time.min 00:00:00 datetime.time.max 23:59:59.999999datetime.time.resolution 00:00:00.000001
  • 7. DATETIME• today = datetime.datetime.today() today 2011-05-20 19:04:33.982872 today.ctime() Fri May 20 19:04:33 2011 today.toordinal() 734277 today.year 2011 today.month 5 today.day 20
  • 8. LOGGING• Facilita le operazioni di logging su file• Impostazioni semplici con basicConfig • logging.basicConfig(filename=LOG_FILENAME, level=logging.DEBUG )
  • 9. LOGGING• Cinque livelli di verbosity • CRITICAL (50) • ERROR (40) • WARNING (30) • INFO (20) • DEBUG (10)
  • 10. LOGGING•I livelli di verbosity servono per filtrare i messaggi di logging•I logging visualizzati sono sempre quelli maggiori o uguali al livello dell’handler
  • 11. MATH• Libreria con funzioni matematiche• Molte generica, ci sono le funzioni e le costanti più comuni
  • 12. PPRINT• Modulo per pretty print• Ottimo per stampare strutture dati• Normalmente lo uso per un debug grezzo
  • 13. RANDOM• Modulo per la generazione di numeri pseudo casuali• Basato su algoritmo Mersenne Twister• Diverse utility per generazione di numeri float, interi o casuali deterministici
  • 14. SYS• E’ un modulo sterminato• Contiene i servizi per: • ottenere e modificare la configurazione dell’interpete a runtime • interagire col sistema operativo
  • 15. URLLIB• Semplice interfaccia per l’accesso a risorse di rete• Funzioni più usate • urlopen(): per aprire una URL • urlencode(): per fare l’encoding di una url. Importantissima! • quote(): simile ad urlencode ma per utilizzo locale
  • 16. URLLIB• Per richiesta • GET • passare a urlopen l’url più i parametri dell’url in un unico parametro -> urlopen(url + encoded_params) • POST • passare a urlopen l’url e i parametri dell’url in due parametri diversi - urlopen(url, encoded_params)
  • 17. URLLIB2• Versione più sofisticata di urllib• Permette la gestione di protocolli diversi da HTTP
  • 18. URLPARSE• Permette una gestione completa delle url• Spezza una url in tutte le sue componenti
  • 19. OS• Permette di interfacciarsi col sistema operativo sottostante• os.path contiente le utility per maneggiare i path• os.environ contiene le variabili di ambiente