Introduzione al linguaggio Python
Il corso illustra i fondamenti del linguaggio Python, indispensabile per affrontare temi con il Network Automation. Esso include una panoramica dei vari strumenti disponibili per la scrittura e l’esecuzione di Python e consente ai partecipanti di programmare rapidamente. Fornisce inoltre esercizi pratici di codifica utilizzando strutture dati di uso comune, scrittura di funzioni personalizzate e lettura e scrittura su file.

Data del corso:
03-04 ottobre 2024

(Il corso si svolgerà interamente on-line)

Agenda

Introduzione

  • Filosofia Python
  • Caratteristiche principali
  • Usi del Python
  • Quando non usare Python
  • Struttura
  • Variabili
  • Tipizzazione
  • Indentazione
  • Esempi
  • Operazioni base
  • Operazioni su stringhe
  • Formattazione
  • Operatori
  • Sottostringhe
  • Struttura dati
  • Liste Tuple
  • Dizionari

Flussi di controllo

  • if, for, loops…
  • Condizioni

Funzioni

  • Argomenti di default
  • Forma lambda
  • Metodi sulle liste

Esercitazione sulla programmazione base

Enumeratori statici e dinamici

Programmazione funzionale

  • Map, reduce

Cenni su functools

Condizioni su oggetti complessi

  • Confronto di sequenze

Files ed IO

Scopo delle variabili

Eccezioni

  • gestione delle eccezioni

Esercitazione sulla programmazione funzionale

Classi

  • Definizioni
  • Namespaces
  • Istanze
  • Metodi
  • Inheritance
  • Classi vuote
  • Variabili private
  • Esercitazione sulle Classi

Moduli

  • Moduli standard
  • Lista dei moduli
  • Uso dei moduli
  • Esempio il modulo sistema

Compilare Python

Generator ed Iterators

Interfacce verso il C

Esercitazione finale

Obiettivi

Al termine del corso i partecipanti avranno appreso:

  • Basi teoriche del linguaggio di programmazione Python (Strutture dati, funzioni, classi, ecc.)
  • Conoscenze di base sui paradigmi di programmazione Funzionale ed Object Oriented in Python
  • Come realizzare semplici programmi in Python
  • Cenni su aspetti avanzati offerti dal linguaggio.

Destinatari

Sviluppatori, Data Scientist, IT/Network Automation Engineer.

Prerequisiti

Per la partecipazione a questo corso è necessaria una conoscenza base delle logiche di programmazione, cenni basilari su paradigmi di programmazione orientato agli oggetti e possibilmente una conoscenza base di almeno un linguaggio di programmazione.