venerdì 26 ottobre 2012

Mission Python: Oggi il nostro primo script

Finora ci siamo accontentati di usare Python interattivamente, scrivendo un'istruzione di una sola riga che l'interprete esegue quando premiamo Enter. Ma oggi facciamo un passo avanti, anzi un balzo, di quelli epici, da raccontare alla mamma, alla fidanzata, a tutti insomma.

Ci serve un editor di testi. Per chi usa Windows il Blocco note è un po' troppo rudimentale. Anche per gli altri vi conviene fare prima un salto alla puntata Operazioni con i numeri  dove ci sono consigli. Per chi usa Linux vanno bene anche quelli che vi trovate, io per esempio uso Gedit (però considerate Geany).

Allora, seguendo la tradizione il nostro primo script si limiterà a scrivere "Hello World!" sul terminale.
Una nota linguistica: di solito per i programmini interpretati si una chiamarli script, parola con diversi significati: il copione dell'attore, la lista della spesa, ... Ma se volete chiamateli pure programmi, come preferite.

Nella sua forma elementare, minima il codice è questo:

print "Hello World!"


salviamolo con il nome hw0.py e eseguiamolo così
Nota: l'estensione .py è quella usuale per gli script Python.
Possiamo migliorarlo un pochino modificandolo così (hw1.py):


print "\nHello World!\n"

La sequenza \n è una sequenza di escape, viene interpretata come "vai a capo". Ce ne sono altre, le vedremo in seguito.

OK, funziona ma un geek / nerd / programmatore come si deve non farebbe mai una cosa come quella! Probabilmente farebbe qualcosa come questo (hw2.py):

#!/usr/bin/python
# -*- coding: utf-8 -*-

print "\nHello World!\n"


Se provate a eseguirlo ottenete lo stesso risultato della versione precedente. Ma ci sono buone ragioni per aggiungere quelle righe.

Intanto la prima riga (deve essere la prima): è talmente importante che ha un nome, si chiama shebang. Dice alla shell (di Linux, Windows la ignora) come eseguire lo script.
Ci tocca però rendere eseguibile lo script, cosa che possiamo fare in due modi:
1) con il mouse:
a) fate click con il tasto destro sul file hw2.py e selezionate "proprietà"
b) selezionate "permessi" e attivate "consenti l'esecuzione come programma"
fatto, oppure (come farebbero i vecchi)

2) nel terminale dare il seguente comando

chmod +x hw2.py

Vero che così è più semplice? e anche più pheego!

OK, in ogni caso adesso possiamo fare:
E non è finita: iniziamo a scrivere ./hw e poi battiamo Tab per completare il comando. Sempre più pheego, vero?

Alle volte la shebang si trova scritta in modo leggermente diverso, per BSD.

La seconda riga dello script precisa il codice di caratteri che usiamo, di solito (come in questo caso) l'UTF-8. Vedremo in seguito la sua utilità. deve essere la seconda riga, la prima se manca la shebang.

La successiva riga vuota è lì solo per bellezza, ignorata dall'interprete.
Inoltre potete mettere dei commenti, se volete essere davvero esagetati potreste anche fare così:

#!/usr/bin/python
# -*- coding: utf-8 -*-

# Bit3Lux, Juhan, Lightuono & co: Mission Python, 2012
# scive Hello World! sul terminale.

print "\nHello World!\n" #print = scrive
ma mi sembra davvero esagerato.

Ecco per oggi basta ma prossimamente...

Juhan   

P.S. Vi ricordo che l'indice di "Mission Python" lo trovate qui

3 commenti:

  1. Mi sto appassionando a Mission Python! Aspetto con impazienza la prossima.

    RispondiElimina
  2. Dannazione, già qui ho problemi..
    Non capisco cosa si intende per "eseguire", o meglio, provo a lanciare il file salvato ma non lo apre.. e su Winzoz non c'è la funzione "riconosci come programma", tra le opzioni delle proprietà.

    Ciao.

    RispondiElimina