Informazioni su Python

I moduli

Per controllare i dispositivi contenuti nella scatola di montaggio sono necessari dei moduli specifici che possono appartenere a 3 categorie

  • con prefisso app: per i dispositivi logici, presenti nell’applicazione
  • con presisso hub: per i dispositivi fisici, presenti nell’hub
  • senza prefisso: per i dispositivi fisici esterni oppure le costanti e le funzioni di uso generico.

Per utilizzare un modulo bisogna importarlo con l’istruzione import.
I moduli si importano una volta sola all’inizio del programma.

Il nome del modulo sarà il prefisso delle sue costanti e delle sue funzioni.

import motor

motor.run_for_degrees(...)

Se il modulo è un sottomodulo può essere importato in modo diverso (è la sintassi scelta dall’Help)

# Tradizionale...

import hub.light_matrix

hub.light_matrix.write(...)
# Un prefisso in meno...

from hub import light_matrix

light_matrix.write(...)

L’editor del codice

Riporto alcune informazioni sull’editor del codice integrato nell’applicazione

  1. Numera automaticamente le righe.
  2. Inserisce correttamente i 4 spazi di tabulazione.
  3. Ammette il copia e incolla con Ctrl-C e Ctrl-V.
  4. Evidenzia la sintassi (colora in modo diverso le parole a seconda del loro significato)
    • Parola chiave: blu
    • Commento: verde
    • Testo: magenta
    • Numero: arancione

Il linguaggio di base

Riporto alcune informazioni (soprattutto le differenze rispetto a Python originale)

  1. L’uso di int è ottimizzato, evita di usare float
    • Utilizza i millisecondi invece dei secondi
  2. NON esegue la funzione input() nella console dell’applicazione.
  3. app.display.text(text: str), si aspetta una stringa quindi i numeri richiedono la funzione str()

I moduli nativi

Il linguaggio di programmazione comprende una selezione dei moduli nativi di Python in formato ridotto

  • L’Help dell’applicazione NON ha una sezione su questo argomento
  • Quali moduli nativi sono implementati?
  • Quali funzioni di ciascun modulo sono implementate?
  • La sintassi di ciascuna funzione è la stessa?

Elenco le funzioni (metodi) citate nell’Help ufficiale

ModuloIN ORDINE ALFABETICO?
random.choice(ELENCO)Sceglie un elemento a caso nell’ELENCO
random.randint(a, b)Sceglie un valore intero a caso nell’intervallo
time.sleep_ms(n)Sospende l’esecuzione del codice per … ms