Ho visto online che ci sono tonnellate di esempi differenti su come creare un timer in Python.

Ma quello che mi serviva a me era un semplice countdown, al termine del quale eseguire una determinata operazione.

TkInter è uno dei vari framework per la costruzione di interfacce grafiche per Python.

E' disponibile sia per la versione 2.x che per la 3.x, ed è quello incluso di default; quindi in teoria per usarlo non si dovrebbe installare nulla.

Almeno per quanto riguarda Python in senso stretto, perchè in realtà va installata la libreria Tcl/Tk.

Per creare classi Singleton in Python, abbiamo parecchie alternative.

Non saprei dirvi quale sia la migliore, visto che tra tutte quelle trovate in giro mi sono trovato bene con il codice che vedete più sotto.

E semplicemente perchè è un codice più simile a quello con cui sono abituato in Java o PHP.

(Devo essere sincero: la sintassi Python la digerisco ancora poco).

Unirest è un libreria per creare richieste HTTP in maniera molto semplice e veloce.

E' disponibile per diversi linguaggi, ed oggi vedremo un esempio con Python.

Da quanto ho capito, al momento la libreria è compatabile solo con Python 2.

Prima di tutto, installiamo la libreria con pip:

# pip install unirest

Per invertire le stringhe, Python non mette a disposizione nessuna funzione.

Però è comunque molto facile, utilizzando la "sintassi slice".

In sostanza è come se trattassimo la stringa come una lista.

L'ereditarietà in Python è leggermente diversa rispetto ad altri linguaggi.

Non si usano parole chiave tipo extends, ma si imposta come se fosse un parametro di una funzione.

Supponiamo di avere la generica classe Persona:

class Persona:
    nome = ''
    cognome = ''

    def __init__(self, nome, cognome):
        self.nome = nome
        self.cognome = cognome

    def getNome(self):
        print(self.nome)

    def getCognome(self):
        print(self.cognome)

Ho iniziato a giocare un pò con Tkinter, il package per la costruzione di GUI di default di Python.

In sostanza Tkinter viene già installato con Python (entrambe le versioni).

Specificando che useremo Python 3, ma anche che non dovrebbe cambiare molto rispetto alla 2, vediamo come scaricare un file tramite FTP.

Non useremo librerie esterne, ma useremo ftplib.

Per controllare la connessione a internet con Python, non abbiamo un modulo specifico.

Dobbiamo effettuare una richiesta ad un url, e verificare che sia andata a buon fine.

Per farlo possiamo usare il modulo urllib.

Specifico che siamo in Python 3.

La programmazione multi-threading in Python è abbastanza semplice usando il modulo threading!

Oggi vediamo qualche esempio in Python 3; ma dovrebbe essere abbastanza simile anche per la versione 2.

Nel primo esempio, i threads non sono sincronizzati, ed infatti l'output sarà una cosa del genere:

Inizio Thread 1
Inizio Thread 2
Thread 1: Mon Apr 24 14:04:58 2017
Thread 2: Mon Apr 24 14:04:59 2017
Thread 1: Mon Apr 24 14:04:59 2017
Thread 1: Mon Apr 24 14:05:00 2017
Thread 2: Mon Apr 24 14:05:01 2017
Thread 1: Mon Apr 24 14:05:01 2017
Thread 1: Mon Apr 24 14:05:02 2017
Fine Thread 1
Thread 2: Mon Apr 24 14:05:03 2017
Thread 2: Mon Apr 24 14:05:05 2017
Thread 2: Mon Apr 24 14:05:07 2017
Fine Thread 2
Fine del main thread