martedì 23 ottobre 2012

Mission Python: Variabili (ancora?), operatori e ...

Dai, ci siamo quasi, prossimamente uno script intero ma prima dobbiamo ancora vedere qualcosa sui componenti.


Questo è un commento: tutto quello che segue il segno # viene ignorato da Python. I commenti sono utili a noi, servono a spiegare cose un pochino astruse o anche solo complesse. Inoltre possiamo commentare linee di codice per saltarle. Consiglio: commentate sempre, se dovrete riprendere e modificare uno script vecchio i commenti tornano utilissimi. Naturalmente il segno # può essere usato all'interno delle stringhe dove non è un commento.

Alle variabili viene automaticamente assegnato il tipo adatto ma non è possibile usarne una come se avesse già un valore, n nell'esempio.

A proposito scrivere c = c + 5 è inutile, esiste l'operatore += che ci risparmia battute (salva tasti e polpastrelli). Naturalmente questo vale anche per -, *, / e %.

Una cosa che mi sono dimenticato di dirvi, forse perché sembra scontata è che le espressioni algebriche sono valutate proprio come a scuola. Non è così per tutti i linguaggi, ma qui stiamo tranquilli.

In Python esistono le variabili di tipo bool, cioè logiche. Possono avere due valori: True e False. Hanno operatori tutti loro: and, or, not.

Esistono gli usuali operatori di comparazione, come in esempio. Funzionano con numeri, bool e stringhe, provate.

Adesso qualcosa sulle stringhe

len() ci dà il numero di caratteri della stringa. (Sui caratteri dovremo aggiungere qualcosa in seguito).

È possibile accedere ai singoli caratteri che compongono la stringa (e sono stringhe anche loro). Notare una cosa (normale per i programmatori ma molto meno per le persone normali): il primo carattere della stringa è il numero zero. Fatevene una ragione, questa cosa ce la troveremo spesso in altre parti. Avvisati nèh!

Da una stringa possiamo estrarre una sottostringa (non solo caratteri come nell'esempio precedente). In questo caso vediamo come prendere la parte iniziale, i primi 6 caratteri. Notare che lo 0 si può omettere. Notato qualcos'altro di strano? (c'è ma non trattenete il respiro, tra breve la soluzione).

Lo stesso gioco per la parte finale della stringa. Si può usare len() ma si può anche omettere. Adesso l'avete vista la cosa strana? (a breve la soluzione).

Come vedete si può estrarre una sottostringa interna, indicando entrambi gli indici nella [i:f].
Però fate attenzione al commento sotto la stringa, con gli indici (in esadecimale, io faccio sempre così).
Qualcosa non torna... c'è scritto [5:8] che sarebbero 4 caratteri e ne otteniamo solo 3. Cioè l'ottavo manca.
Chiamiamo i carabinieri?
No! questa è una delle cose particolari di Python: tutte le volte che diciamo da a fine è sempre escluso. Io ve lo ripeterò più volte perché so che lo dimenticherete. Ogni tanto me lo dimentico anch'io.

No, dai questo ve lo racconto un'altra volta.


Juhan

P.S. L'indice al minicorso "Mission Python" lo trovate qui

3 commenti:

  1. Ehm, non ho capito la parte finale, Juhan.
    Esattamente cosa hai fatto?

    RispondiElimina
  2. Comunque, come ho già detto, provenendo da Elettronica la parte sulle variabili per me è stata facile, soprattutto quella dei valori e delle funzioni booleane.

    RispondiElimina
  3. Ops, scusa, ora mi è chiaro rileggendolo, chiedo scusa.

    RispondiElimina