Debian, Ubuntu, Linux, Gnu, software libero Ubuntu, Quantal Quetzal, Raring Ringtail, Linux, Ubuntulandia, Giochi tag foto 3 Mandelbulber, grafica, multimedia, Linux, Ubuntulandia Conky, Ubuntu, Linux, Ubuntulandia, Quantal Quetzal, Raring Ringtail Python, Ubuntu, Linux, programmazione Ubuntu 13.04, Raring Ringtail, Canonical, Linux Android, Linux, Ubuntu Internet Explorer, Firefox, Chrome, Safari, internet browsers, Ubuntulandia Linux Mint, distribuzioni, Ubuntulandia
Visualizzazione post con etichetta Ubuntu 10.10 Maverick Meerkat. Mostra tutti i post
Visualizzazione post con etichetta Ubuntu 10.10 Maverick Meerkat. Mostra tutti i post

giovedì 17 ottobre 2013

Le verdure saranno protagoniste del naming delle future release di Ubuntu.

Benjamin Drung, affermato sviluppatore Ubuntu, si è posto un interessante quesito:

“Cosa accadrà al naming della release di Ubuntu quando le lettere dell’alfabeto disponibili arriveranno alla lettera Z?”.

Anche se questo quesito diventerà attuale solamente dopo la release 17.04, Mark Shuttleworth ha già lanciato una sua idea a riguardo durante l’Ubuntu Developer Summit tenutosi  a Copenaghen: a quanto risulta le verdure saranno protagoniste del naming delle future release di Ubuntu, ma non solo, lo stesso Mark ha proposto un possibile codename per Ubuntu 18.04: Brilliant Broccoli.

ubuntu-tablet

Se da un lato traspare l’humor di Shuttleworth, dall’altro giungono voci di rinnovamento per quanto concerne lo sviluppo di Ubuntu 14.04: Rick Spencer, in un suo articolo, delinea quali saranno le migliorie che verranno introdotte, a partire da un maggiore controllo di qualità durante tutte le fasi di sviluppo della distribuzione fino ad arrivare al sandboxing delle applicazioni che porterà ulteriore sicurezza all’utente finale isolandolo da possibili minacce provenienti da software malevole o mal scritto.

Tutti i nomi:

4.10     Warty Warthog (Facocero Verrucoso)    
5.04     Hoary Hedgehog (Riccio Veterano)    
5.10     Breezy Badger (Tasso Arioso)    
6.06 LTS     Dapper Drake (Papero Signorile)    
6.10     Edgy Eft (Tritone Tagliente)    
7.04     Feisty Fawn (Cerbiatto Esuberante)    
7.10     Gutsy Gibbon (Gibbone Coraggioso)    
8.04 LTS Hardy Heron (Airone Audace)    
8.10     Intrepid Ibex (Stambecco Intrepido)    
9.04     Jaunty Jackalope  (Lepre cornuta Disinvolta
9.10     Karmic Koala (Koala Karmico)    
10.06     Lucid Lynx (Lince Lucida)    
10.10     Maverick Meerkat (Suricato Indipendente)    
11.04     Natty Narwhal (Narvalo Elegante)        
11.10     Oneiric Ocelot (Gattopardo Onirico)    
12.04 LTS Precise Pangolin (Pangolino Preciso)[87]    
12.10     Quantal Quetzal (Quetzal Quantico)
13.04     Raring Ringtail (Lemure Impaziente)    
13.10     Saucy Salamander (Salamandra Impertinente)    

Versioni supportate.

Vengono qui indicati per ciascuna versione di Ubuntu: il numero e il nome di versione, la data di rilascio, la data di fine supporto, la scaletta di rilascio con indicate le fasi del piano di lavoro, le note di rilascio con indicate le specifiche di ciascuna versione e i link per il download.

Il download delle versioni derivate (Kubuntu, Edubuntu, ecc..) è disponibile in questa pagina.

13.04

12.10

12.04

calendario rilasci ubuntu

Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:

giovedì 11 aprile 2013

I 10 giochi più popolari del mese di Febbraio 2013 su SuperTux Giochi.

1.- Barbie Seahorse Adventures è un fantastico mix tra il più classico dei platform e lo storico Bubble Bobble. barbie_seahorse_01_thumb1Se amate i giochi di piattaforme alla Super Mario (specialmente quando del Mario non si vede neanche l’ombra) ) non perdetevi questa piccola perla realizzata dal team indipendente ImitationPickies. Barbie Seahorse Adventures è un fantastico mix tra il più classico dei platform e lo storico Bubble Bobble che vi terrà incollati al monitor per 15 fantastici livelli ! Il cavalluccio marino protagonista di questo gioco possiede delle straordinarie abilità.
Oltre a saltellare sulle fantasiose piattaforme può “sparare” anche delle utilissime bolle in grado di inglobare i nemici. Dimenticatevi il tipico salto in testa (una delle specialità del Mario) perchè qui non funzionerà affatto. Potrete però saltare sopra i nemici inglobati dalle vostre stesse bolle per raggiungere le piattaforme più alte visto che queste sono solitamente ricche di bonus e power-up. Barbie Seahorse Adventures vi farà visitare livelli pieni di cose da fare e di segreti da scoprire. Troverete anche le classiche porte “segrete” che vi porteranno direttamente in speciali stanze dove farete incetta di bonus e vite extra. I livelli sbloccati saranno disponibili nella schermata principale in modo da riprendere comodamente la partita in momenti successivi. Il vostro obiettivo è portare il cavalluccio marino sulla Luna.

2.- Rats&Spears è un giochino semplice e divertente e del tutto gratuito in stile cartoon.
rats&spearsVivono non lontano da casa tua. Appena sopra la recinzione dall'ultimo cottage sulla vostra strada, c'è una discarica.
Non un posto romantico, cari signori e signori, ma è lì che vivono. Rats&Spears è un giochino semplice e divertente e del tutto gratuito. Aiutate il ratto a lanciare il suo giavellotto il più lontano possibile ed a diventare una vera e propria star delle olimpiade.
Prendete la rincorsa e durante la corsa cliccate il mouse per caricare il lancio del giavellotto e lanciate, senza oltrepassare la linea costituita da una scatola di fiammiferi. Subito dopo vi verranno indicati i metri raggiunti con il lancio.
Riuscireta ad aiutare il topo a diventare un atleta professionista nel lancio del giavellotto? Buon divertimento.
Gioco molto bello stile cartoon., inizialmente sviluppato per Smartphone ora è anche disponibile per Linux.
Download.


3.- Kobo Deluxe è un remake del gioco originariamente sviluppato per sistemi Unix con interfaccia grafica X11.
kobo1Kobo Deluxe è un remake di uno sparatutto originariamente sviluppato per sistemi Unix con interfaccia grafica X11. Il titolo originale fu scritto da Akira Higuchi ed è attualmente disponibile a questo indirizzo
Il remake sviluppato da un gruppo di appassionati diretti da David Olofson ci ripropone il gameplay originale dotandolo però di sonoro, nuova grafica animata e supporto alle alte risoluzioni tramite OpenGL.
La nuova versione è disponibile per moltissime piattaforme tra cui Linux. Uno shooter a scorrimento multidirezionale che sembra arrivare direttamente dal C64: lo tradisce soltanto la grafica più moderna. Ogni missione ci vedrà all’attacco di stazioni sempre più numerose con centinaia di navi aliene pronte a distruggerci. Una sfida davvero entusiasmante affrontabile in diversi modi: selezionando il livello Classic avremo uno sparo non molto potente e quindi dovremo pianificare il nostro attacco con più strategia. Selezionando gli altri livelli di difficoltà avremo in dotazione una navetta più resistente ma proseguendo nei livelli troveremo una resistenza decisamente più agguerrita. Kobo Deluxe si controlla con i tasti cursore (ma anche con joystick mouse o joypad) mentre per sparare con la tastiera useremo CTRL oppure SHIFT.

4.-  Globs trasforma i glob colorati in un glob gigante usando arguzia e strategia.
globs logoSegui le indicazioni del tuo guru e gioca con le sfere colorate Globs. Il tuo scopo sarà quello di inglobare tutte le palline creando un'unica forma colorata. Il punto di partenza è la pallina lampeggiante, osserva quali sono i colori delle sfere adiacenti, e in base a questo decidi quale sfera inglobare cliccando sui colori disponibili nel menù in alto.
Scegli la giusta combinazione fino a completare il livello. Più sfere riuscirai ad inglobare in un colpo solo e più alto sarà il tuo punteggio.
Altri giochi simili:
Paradiso fiorito - Eden flower  [Gioco in formato Flash]
Paradiso fiorito - Eden flower Stagione dopo stagione sistema questo giardino paradisiaco composto da gradevoli e variopinti fiori da abbinare per colore.
Mettiti dunque al lavoro e scambia i fiori per eliminarli a gruppi di 3 uguali, prima che il tempo a disposizione si esaurisca, se ti trovi in difficoltà usa la funzione Hint, che tuttavia ti farà perdere dei punti.

5.- The Goonies divertente remake tutto freeware che riporta sui nostri monitor la versione tratta dal famoso film di avventura.
the gooniesDivertente remake tutto freeware che riporta sui nostri monitor la versione che avevamo giocato sul Commodore 64 e sullo Spectrum. Un gioco tratto dal famoso film di avventura del 1985 diretto da Richard Donner e prodotto da Steven Spielberg che all’epoca vantava ben due trasposizioni videoludiche completamente differenti tra loro.
Nel 1986 uscì il videogioco The Goonies realizzato da Konami per MSX e Nintendo NES (un remake freeware è disponibile ed era già stato segnalato in questo post) mentre U.S. Gold rilasciò una versione completamente diversa che vide la luce sul C64, sull’Amstrad e diverse altre piattaforme dell’epoca.
Il titolo originale vantava un gameplay cooperativo con due personaggi controllabili contemporaneamente in un gioco di piattaforme a schermata fissa.
Download.

 
6.- Cose che non sapevi di Counter Strike [Infografica]
Facciamo un viaggio nel tempo, fino a giungere agli albori degli FPS. Qui troviamo il primo Counter-Strike che ha segnato un’era negli sparatutto inprima persona.
Da allora si sono susseguite nuove versioni, espansioni, miglioriee ottimizzazioni di ogni genere per un titolo che ha infranto ogni record in questacategoria.
Vi offriamo questa infografia costellata di notizie, curiosità e cose chesicuramente non sapevate, sul più famoso FPS al mondo, che vanta la comunità digiocatori online più grande, in assoluto.
Counter-Strike è un videogioco sparatutto in multiplayer, nato dall'idea di due studenti universitari che nel 1998 misero mano al codice di Half-Life. Divenuto in seguito proprietà della Valve Software, il suo attuale successo è dovuto al fatto che venne pubblicato come mod gratuito di Half-Life, ne usa il motore grafico, ed è giocabile online. Per l'ultima versione uscita il team Valve rilascia aggiornamenti periodici, quali nuove skin dei personaggi, bug corretti, nuove mappe, facendone uno dei punti di forza del gioco che è in continuo miglioramento. Counter-Strike è stato pubblicato per Microsoft Windows, Mac e per Xbox, mentre une versione Beta per Linux è stata rilasciata su Steam il 25 gennaio 2013, la quale è stata resa stabile alcune settimane dopo.

7.- Minecraft è un videogioco indipendente sandbox focalizzato sulla creatività e l'ingegno.
minecraft_logo Minecraft è un videogioco indipendente sandbox con elementi di azione ed esplorazione sviluppato da Markus "Notch" Persson, che lo ha realizzato in linguaggio Java ispirandosi a diversi titoli. Minecraft è focalizzato sulla creatività e l'ingegno, permettendo ai giocatori di costruire in un mondo immaginario.
Il videogioco, nella sua versione commerciale, presenta due modalità di gioco:
Soppravivenza, che richiede l'acquisizione di risorse indispensabili per restare in vita; la seconda invece è la modalità Creativa, dove l'utente ha una disponibilità infinita di risorse e la possibilità di volare. Una terza modalità di gioco, chiamata Hardcore, è essenzialmente uguale a Sopravvivenza con la differenza che la difficoltà di gioco è bloccata su "massimo" e quando si muore il proprio mondo viene cancellato.
Minecraft venne rilasciato come alpha il 17 maggio 2009, con una versione beta il 20 dicembre 2010. La versione completa è stata pubblicata il 18 novembre 2011 al MineCon. Per quanto riguarda altre versioni, il 16 agosto 2011 è stata pubblicata la versione ufficiale per l'Xperia Play e poco dopo Minecraft Pocket Edition è arrivato anche sull'Android Market. I 4J Studios, un altro team di sviluppo, ha sviluppato il videogioco per Xbox 360 con supporto alla tecnologia Kinect, inoltre il 17 novembre 2011 è stato pubblicato su App Store una versione denominata: Minecraft - Pocket Edition. Il primo luglio 2011 sono stati superati i 10 milioni di utenti registrati al gioco.

8.- I migliori giochi per Android [Infografiche]

Google Play Store (precedentemente denominato Android Market) è uno store di applicazioni, brani musicali, pellicole cinematografiche, libri e riviste online sviluppato da Google per i dispositivi Android, per i sistemi desktop e notebook che abbiano disponibilità della connessione Internet, che ha sostituito l'Android Market, il quale trattava solo applicazioni per Android.
Un programma applicativo chiamato Play Store viene preinstallato sulla maggior parte dei dispositivi Android e permette agli utenti di cercare e scaricare le applicazioni pubblicate da sviluppatori di terze-parti e leggerne le relative informazioni e aggiornamenti.
Siete entrati in possesso di un nuovo smartphone Android e volete riempirlo di giochi, ma non sapete quali scegliere e avete paura di scaricare giochi brutti occupando così inutilmente il vostro tempo e la memoria del telefono?.
Magari queste 3 infografiche vi possono aiutare.

9.- Giana's Return è un gioco molto simile a Super Mario con ambientazioni e musiche fantasy.
giana's logoThe Great Giana Sisters è un platform uscito nel 1988, che ha creato ben più di un problema ai suoi creatori.
Il titolo infatti era molto simile al primo Super Mario Bros, e per questo venne ritirato dal mercato, dopo una causa (vinta) intentata da Nintendo.
Dopo tanti anni, un gruppo tedesco ha deciso di farne un remake. Giana's Return è ovviamente un gioco di piattaforme fedelissimo alla versione originale.
Nei panni di una bambina dovrete superare vari livelli, saltando in testa ai nemici e arrivando alla fine dei vari quadri.
Bastano veramente pochissimi minuti per accorgersi che il gioco è una copia abbastanda spudorata del primo Super Mario Bros. Ma non per questo è meno divertente, anzi.
La grafica è ovviamente migliorata, e il sonoro si compone di motivetti simpatici e carini. Il gioco dispone di una funziona di salvataggio tramite password.

10.- I 10 post più popolari del mese: ottobre 2012.
Angry Birds, fiondate degli uccellini piuttosto arrabbiati contro le costruzioni nemiche.
angry birdsAngry Birds (letteralmente traducibile italiano come Uccelli arrabbiati) è un videogioco rompicapo sviluppato da Rovio Mobile.
Lo scopo principale del gioco è di lanciare alcuni uccelli di vario tipo contro una serie di maialini verdi posizionati all'interno del campo di gioco, costituito da varie strutture, con l'obiettivo di distruggerli.
Questi maialini, in origine, essendo a corto di cibo e costretti a mangiare solo erba, hanno rubato le uova a questi uccelli per cibarsene, e quindi i volatili compiono questo atto vendicativo per riappropriarsi della prole che è stata loro sottratta.
Ogni livello comprende una fionda, che l'utente deve utilizzare per lanciare i volatili a sua disposizione contro i maiali, colpendoli direttamente o facendo loro crollare addosso le strutture.
Tali strutture possono essere composte di diversi materiali (come vetro, legno o pietra) che si rivelano più o meno fragili, e quindi più o meno facili da demolire. Il numero, il tipo e l'ordine degli uccelli a disposizione del giocatore in ogni livello è predeterminato.
 
Ricerca personalizzata


Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:

mercoledì 10 aprile 2013

Obsidian Entertainment Project Eternity, un nuovo gioco di ruolo che rende omaggio ai classici mostri sacri del genere.

obsidian logoObsidian Entertainment ha annunciato Project Eternity, un gioco di ruolo "vecchia scuola" con visuale isometrica dall'alto e combattimenti a gruppi.
La campagna su Kickstarter ha aperto i battenti il 14 settembre e il giorno dopo ha già raggiunto la quota necessaria per finanziare il gioco, pari a 1,1 milione di dollari. 

Come da tradizione tutti i soldi donati nei prossimi giorni serviranno per migliorare ulteriormente il gioco. 

Per esempio a 1,4 milioni di dollari sarà possibile scegliere una nuova razza e una nuova classe per il proprio personaggio, mentre a 1,6 milioni arriverà la versione per Macintosh insieme a nuove missioni, personaggi non giocanti, luoghi extra ed altri oggetti unici. Così via aggiungendo nuove razze, le case in-game e molto altro fino a 2.2 milioni di dollari, quando arriverà perfino il supporto a Linux insieme a un'intera nuova regione di gioco. 

Secondo gli sviluppatori Project Eternity (il titolo non è ancora confermato) prende spunto dai mostri sacri dei giochi di ruolo, come Baldur's Gate, Icewind Dale e Planescape: Torment (il vincitore della nostra Top 10 dei migliori GDR occidentali).
pe-banner-paypal
La mappa di Project Eternity è già pronta, ma gli sviluppatori potrebbero aggiungere altre aree di gioc.
Il combattimento sfrutterà un sistema di pausa tattica per posizionare i membri del party mentre si cercherà di coordinare attacchi e abilità per avere la meglio sui nemici.  Le premesse sono ottime, soprattutto considerando che lo sviluppo di questo gioco è curato da Chris Avellone, Tim Cain e Josh Sawyer.

Stiamo parlando di tre luminari del settore che hanno dato alla luce giochi come Fallout, Fallout 2, Fallout: New Vegas, la serie di Icewind Sale, Arcanum, Star Wars: Knights of the Old Republic II, Temple of Elemental Evil e Planescape Torment. Una lista decisamente accattivante.

Screenshots.
  

Project-Eternity_PC_cover
obsidian_entertainment_launches_project_eternity
obsidian_entertainment_launches_project_eternity_1
projecteternitymap
obsidian1
pe-godlike-earth-fem-tn
cadegund_from_project_eternity_by_staplesart-d5kr75j
obsidian3
project-eternity
fonte: SuperTux Giochi
 
Ricerca personalizzata


Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:

sabato 12 gennaio 2013

Il tutorial di Python, seconda parte: un’introduzione informale.

Python logoNegli esempi seguenti, l'input e l'output sono distinguibili per la presenza o meno dei prompt (">>> " e "... "): per sperimentare l'esempio è necessario digitare tutto quello che segue il prompt, quando esso compare; le righe che non iniziano con un prompt sono output dell'interprete. 

Si noti che se in un esempio compare un prompt secondario isolato su una riga significa che si deve introdurre una riga vuota; questo viene usato per terminare un comando che si estende su più righe. 

Molti degli esempi di questo manuale, anche quelli immessi al prompt interattivo, presentano commenti. In Python i commenti iniziano con il carattere 'hash', "#" e continuano fino alla fine della riga. Un commento può comparire all'inizio di una riga, dopo degli spazi bianchi o dopo del codice, ma non dentro una stringa costante. Un carattere hash dentro una stringa costante è solamente un carattere hash. 

Alcuni esempi: 

# questo è il primo commento
SPAM = 1                 # e questo è il secondo
                         # ... e ora il terzo!
STRING = "# Questo non è un commento."


Usare Python come una calcolatrice.

Proviamo con qualche semplice comando Python. Avviate l'interprete e si attendete il prompt primario, ">>> ". Non dovrebbe metterci molto.

Numeri.

L'interprete si comporta come una semplice calcolatrice: si può digitare un'espressione ed esso fornirà il valore risultante. La sintassi delle espressioni è chiara: gli operatori +, -, * e / funzionano come nella maggior parte degli altri linguaggi (p.e. Pascal o C); le parentesi possono essere usate per raggruppare operatori e operandi. Ad esempio:


>>> 2+2
4
>>> # Questo è un commento
... 2+2
4
>>> 2+2  # e un commento sulla stessa riga del codice
4
>>> (50-5*6)/4
5
>>> # Una divisione tra interi restituisce solo il quoziente:
... 7/3
2
>>> 7/-3
-3

Come in C, il segno di uguale ("=") è usato per assegnare un valore ad una variabile. Il valore di un assegnamento non viene stampato:


>>> larghezza = 20
>>> altezza = 5*9
>>> larghezza * altezza
900

Un valore può essere assegnato simultaneamente a variabili diverse:


>>> x = y = z = 0  # Zero x, y e z
>>> x
0
>>> y
0
>>> z
0

Le operazioni in virgola mobile sono pienamente supportate; in presenza di operandi di tipo misto gli interi vengono convertiti in virgola mobile:


>>> 3 * 3.75 / 1.5
7.5
>>> 7.0 / 2
3.5


python ubuntu

Anche i numeri complessi vengono supportati; per contrassegnare i numeri immaginari si usa il suffisso "j" o "J". I numeri complessi con una componente reale non nulla vengono indicati come "(real+imagj)", o possono essere creati con la funzione "complex(real, imag)".


>>> 1j * 1J
(-1+0j)
>>> 1j * complex(0,1)
(-1+0j)
>>> 3+1j*3
(3+3j)
>>> (3+1j)*3
(9+3j)
>>> (1+2j)/(1+1j)
(1.5+0.5j)

I numeri complessi vengono sempre rappresentati come due numeri in virgola mobile, la parte reale e quella immaginaria. Per estrarre queste parti da un numero complesso z si usino z.real e z.imag.



>>> a=1.5+0.5j
>>> a.real
1.5
>>> a.imag
0.5

Le funzioni di conversione in virgola mobile e intero (float(), int() e long()) non funzionano con i numeri complessi: non c'è alcun modo corretto per convertire un numero complesso in numero reale. Usate abs(z) per ottenere la sua grandezza (in virgola mobila) o z.real per ottenere la sua parte reale.


>>> a=3.0+4.0j
>>> float(a)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: can't convert complex to float; use abs(z)
>>> a.real
3.0
>>> a.imag
4.0
>>> abs(a)  # sqrt(a.real**2 + a.imag**2)
5.0
>>>

In modo interattivo, l'ultima espressione stampata è assegnata alla variabile _. Questo facilita i calcoli in successione quando si sta usando Python come calcolatrice da tavolo, ad esempio:


>>> tassa = 12.5 / 100
>>> prezzo = 100.50
>>> prezzo * tassa
12.5625
>>> prezzo + _
113.0625
>>> round(_, 2)
113.06
>>>

Questa variabile dev'essere trattata dall'utente come di sola lettura. Non le si deve assegnare esplicitamente un valore, si creerebbe una variabile locale indipendente con lo stesso nome che maschererebbe la variabile built-in ed il suo comportamento particolare.



python calcolatrice

Stringhe.

Oltre ai numeri, Python può anche manipolare stringhe, che possono essere espresse in diversi modi. Possono essere racchiuse tra apici singoli o virgolette:


>>> 'spam eggs'
'spam eggs'
>>> 'doesn\'t'
"doesn't"
>>> "doesn't"
"doesn't"
>>> '"Yes," he said.'
'"Yes," he said.'
>>> "\"Yes,\" he said."
'"Yes," he said.'
>>> '"Isn\'t," she said.'
'"Isn\'t," she said.'

Le stringhe costanti possono estendersi su più righe in modi diversi. Si possono scrivere lunghe righe usando le barre oblique inverse (NdT: il cosiddetto ``escape'') come ultimo carattere di riga, questo indicherà che la riga successiva sarà in realtà la logica continuazione della precedente:

ciao = "Questa è una stringa abbastanza lunga che contiene\n\
parecchie righe di testo proprio come si farebbe in C.\n\
    Si noti che gli spazi bianchi all'inizio della riga sono\
 significativi."

print ciao

Si noti che il carattere di fine riga deve sempre essere inserito in una stringa usando \n; il carattere di fine riga successivo, composto dalla barra obliqua inversa viene ignorato. L'esempio verrà quindi stampato così:


Questa è una stringa abbastanza lunga che contiene
parecchie righe di testo proprio come si farebbe in C.
    Si noti che gli spazi bianchi all'inizio della riga sono significativi.

-->
Se si volesse comporre una stringa letterale ``raw'', comunque, la sequenza \n non verrebbe convertita nel fine riga e, insieme alla barra obliqua inversa alla fine della riga del sorgente, si ritroverebbero entrambe le sequenze come nella stringa data. Quindi, l'esempio:


ciao = r"Questa è una stringa abbastanza lunga che contiene\n\
parecchie righe di testo proprio come si farebbe in C."

print ciao

stamperebbe:

Questa è una stringa abbastanza lunga che contiene\n\
parecchie righe di testo proprio come si farebbe in C.


Oppure le stringhe possono essere circondate da un paio di virgolette o apici tripli corrispondenti: """ o '''. Non è necessario proteggere i caratteri di fine riga quando si usano le triple virgolette, questi verranno inclusi nella stringa.



print """
Uso: comando [OPZIONI] 
   -h                        Visualizza questo messaggio
   -H hostname               Hostname per connettersi a
"""


produrrà il seguente output:



Uso: comando [OPZIONI] 
   -h                        Visualizza questo messaggio
   -H hostname               Hostname per connettersi a


L'interprete stampa il risultato delle operazioni sulle stringhe nello stesso modo in cui vengono inserite in input: tra virgolette, con virgolette interne ed altri caratteri particolari protetti da barre oblique inverse (NdT: 'backslash'), per mostrare il loro esatto valore. La stringa viene racchiusa tra doppie virgolette se contiene un apice singolo e non virgolette doppie, altrimenti è racchiusa tra apici singoli. (L'istruzione print, descritta più avanti, può essere usata per scrivere stringhe senza virgolette o caratteri di escape).


Le stringhe possono essere concatenate (incollate assieme) tramite l'operatore + e ripetute tramite *:


>>> parola = 'Aiuto' + 'A'
>>> parola
'AiutoA'
>>> '<' + parola*5 + '>'
'<AiutoAAiutoAAiutoAAiutoAAiutoA>'

Due stringhe letterali consecutive vengono concatenate automaticamente; la prima riga dell'esempio precedente poteva anche essere scritta come "parola = 'Aiuto' 'A'"; questo funziona solo con due stringhe di testo, non con espressioni arbitrarie che comprendano stringhe:

>>> 'str' 'ing'                   #  <-  Questo è ok
'string'
>>> 'str'.strip() + 'ing'         #  <-  Questo è ok
'string'
>>> 'str'.strip() 'ing'           #  <-  Questo non è valido
  File "<stdin>", line 1, in ?
    'str'.strip() 'ing'
                      ^
SyntaxError: invalid syntax

Le stringhe possono essere indicizzate come in C, il primo carattere di una stringa ha indice 0. Non c'è alcun tipo associato al carattere di separazione; un carattere è semplicemente una stringa di lunghezza uno. Come in Icon, possono essere specificate sottostringhe con la notazione a fette (NdT: 'slice'): due indici separati dal carattere due punti.



>>> parola[4]
'o'
>>> parola[0:2]
'Ai'
>>> parola[2:4]
'ut'

Gli indici della fetta hanno utili comportamenti predefiniti. Il primo indice, se omesso, viene impostato al valore predefinito 0. Se viene tralasciato il secondo, viene impostato alla dimensione della stringa affettata.


>>> parola[:2]    # I primi due caratteri
'Ai'
>>> parola[2:]    # Tutti eccetto i primi due caratteri
'utoA'

A differenza di quanto avviene in C, le stringhe Python non possono essere modificate. Un'assegnazione effettuata su un indice di una stringa costituisce un errore:


>>> parola[0] = 'x'
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: object doesn't support item assignment
>>> parola[:1] = 'Lavagna'
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: object doesn't support slice assignment

Comunque, creare una nuova stringa combinando i contenuti è semplice ed efficiente:


>>> 'x' + parola[1:]
'xiutoA'
>>> 'Lavagna' + parola[5]
'LavagnaA'

Ecco un'utile variante delle operazioni di affettamento: s[:i] + s[i:] equivale a s.


>>> parola[:2] + parola[2:]
'AiutoA'
>>> parola[:3] + parola[3:]
'AiutoA'

Gli indici di fetta degeneri vengono gestiti con eleganza: un indice troppo grande viene rimpiazzato con la dimensione della stringa, un indice destro minore di quello sinistro fa sì che venga restituita una stringa vuota.


>>> parola[1:100]
'iutoA'
>>> parola[10:]
''
>>> parola[2:1]
''

Gli indici possono essere numeri negativi, per iniziare il conteggio da destra. Ad esempio:


>>> parola[-1]     # L'ultimo carattere
'A'
>>> parola[-2]     # Il penultimo carattere
'o'
>>> parola[-2:]    # Gli ultimi due caratteri
'oA'
>>> parola[:-2]    # Tutta la stringa eccetto i due ultimi caratteri
'Aiut'

Si noti però che -0 è la stessa cosa di 0, quindi non si conta dall'estremità destra!


>>> parola[-0]     # (dato che -0 è la stessa cosa di 0)
'A'

Gli indici di fetta negativi vengono troncati se sono fuori intervallo, ma non si tenti di farlo con indici a singolo elemento:

>>> parola[-100:]
'AiutoA'
>>> parola[-10]    # errore
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
IndexError: string index out of range

Il modo migliore di tenere a mente come lavorano le fette è di pensare che gli indici puntano tra i caratteri, con l'indice 0 posto al margine sinistro del primo carattere. Quindi il margine destro dell'ultimo carattere di una stringa di n caratteri ha indice n, per esempio:

 +---+---+---+---+---+---+
 | A | i | u | t | o | A |
 +---+---+---+---+---+---+ 
 0   1   2   3   4   5   6
-6  -5  -4  -3  -2  -1

La prima riga di numeri dà la posizione degli indici 0...5 nella stringa; la seconda fornisce i corrispondenti indici negativi. La fetta da i a j consiste di tutti i caratteri compresi tra i margini contrassegnati i e j, rispettivamente.

Per indici non negativi, l'ampiezza di una fetta è pari alla differenza tra gli indici, se entrambi sono compresi nei limiti, per esempio la lunghezza di parola[1:3] è 2.

La funzione built-in len() restituisce la lunghezza di una stringa:

>>> s = 'supercalifragicospiristicalidoso'
>>> len(s)
32


 python calcolo

Stringhe Unicode.

A partire da Python 2.0 il programmatore ha a sua disposizione un nuovo tipo di dato testo: l'oggetto Unicode. Può essere utilizzato per immagazzinare e manipolare dati Unicode (si veda http://www.unicode.org/ [off-site link] ) e si integra al meglio con gli oggetti stringa esistenti, garantendo conversioni in automatico ove necessario.

Unicode ha il vantaggio di fornire un unico ordinale per ogni carattere che possa comparire in un qualsiasi testo. In precedenza c'erano solo 256 ordinali possibili per i caratteri scrivibili e ciascun testo era tipicamente collegato a una pagina di codici che mappava gli ordinali sui caratteri scrivibili. Ciò provocava molta confusione specialmente riguardo al problema dell'internazionalizzazione del software (di solito indicata come "i18n" - "i" + 18 caratteri + "n"). Unicode ha risolto tali problemi definendo un'unica pagina di codici per tutti gli script.

Creare stringhe Unicode in Python è semplice quanto creare stringhe normali:


>>> u'Ciao mondo !'
u'Ciao mondo !'

Il carattere "u" minuscolo davanti agli apici indica che si vuole creare una stringa Unicode. Se si desidera includere nella stringa caratteri speciali, lo si può fare usando la codifica Python Unicode-Escape. Il seguente esempio mostra come fare:


>>> u'Ciao\u0020mondo !'
u'Ciao mondo !'

La sequenza di escape \u0020 inserisce il carattere Unicode con ordinale esadecimale 0x0020 (il carattere di spazio) nella posizione indicata.


Gli altri caratteri vengono interpretati usando il valore del loro rispettivo ordinale direttamente come Unicode. Grazie al fatto che i primi 256 caratteri Unicode sono gli stessi della codifica standard Latin-1 usata in molti paesi occidentali, l'inserimento Unicode risulta molto semplificato.

Per gli esperti, c'è anche una modalità raw, proprio come per le stringhe normali. Si deve prefissare una 'ur' minuscola alla stringa per far sì che Python usi la codifica Raw-Unicode-Escape. Non farà altro che applicare la conversione \uXXXX di cui sopra nel caso ci sia un numero dispari di barre oblique inverse davanti alla 'u' minuscola.


>>> ur'Ciao\u0020mondo !'
u'Ciao mondo !'
>>> ur'Ciao\\u0020mondo !'
u'Ciao\\\\u0020mondo !'

La modalità raw è utile perlopiù quando si devono introdurre un sacco di barre oblique inverse, p.e. nelle espressioni regolari.

A parte queste codifiche standard, Python fornisce un insieme completo di strumenti per creare stringhe Unicode partendo da una codifica conosciuta.

La funzione built-in unicode()permette l'accesso a tutti i codec (COdificatori e DECodificatori) Unicode ufficiali. Alcune delle codifiche più note nelle quali tali codec possono effettuare la conversione sono: Latin-1, ASCII, UTF-8 e UTF-16. Le ultime due sono codifiche a lunghezza variabile che permettono di memorizzare caratteri Unicode in uno o più byte. La codifica predefinita è normalmente impostata ad ASCII, che permette tutti i caratteri nell'intervallo da 0 a 127 e scarta tutti gli altri emettendo un errore. Quando si stampa una stringa Unicode, scrivendola in un file o convertendola con str(), viene usata la codifica predefinita.


>>> u"abc"
u'abc'
>>> str(u"abc")
'abc'
>>> u"äöü"
u'\xe4\xf6\xfc'
>>> str(u"äöü")
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2:
ordinal not in range(128)

Per convertire una stringa Unicode in una 8-bit si usa una specifica codifica, gli oggetti Unicode forniscono il metodo encode() che prende un argomento, il nome della codifica. Per le codifiche sono preferiti i nomi in minuscolo.

>>> u"äöü".encode('utf-8')
'\xc3\xa4\xc3\xb6\xc3\xbc'

Se si hanno dei dati in una codifica specifica e si vuole produrre una stringa Unicode corrispondente, si può usare la funzione unicode(), con il nome della codifica come secondo argomento.

>>> unicode('\xc3\xa4\xc3\xb6\xc3\xbc', 'utf-8')
u'\xe4\xf6\xfc'

Liste.

Python riconosce una certa quantità di tipi di dati composti, usati per raggruppare insieme altri valori. Il più versatile è il tipo lista, che può essere scritto come una lista, compresa tra parentesi quadre, di valori (gli elementi della lista) separati da virgole. Gli elementi della lista non devono essere necessariamente tutti dello stesso tipo.


>>> a = ['spam', 'eggs', 100, 1234]
>>> a
['spam', 'eggs', 100, 1234]

Come per gli indici delle stringhe, gli indici delle liste iniziano da 0, e anche le liste possono essere affettate, concatenate e così via:
>>> a[0]
'spam'
>>> a[3]
1234
>>> a[-2]
100
>>> a[1:-1]
['eggs', 100]
>>> a[:2] + ['bacon', 2*2]
['spam', 'eggs', 'bacon', 4]
>>> 3*a[:3] + ['Boe!']
['spam', 'eggs', 100, 'spam', 'eggs', 100, 'spam', 'eggs', 100, 'Boe!']

Al contrario delle stringhe, che sono immutabili, è possibile modificare gli elementi individuali di una lista:


>>> a
['spam', 'eggs', 100, 1234]
>>> a[2] = a[2] + 23
>>> a
['spam', 'eggs', 123, 1234]

È anche possibile assegnare valori alle fette, e questo può pure modificare le dimensioni della lista:


>>> # Rimpiazza alcuni elementi:
... a[0:2] = [1, 12]
>>> a
[1, 12, 123, 1234]
>>> # Rimuove alcuni elementi:
... a[0:2] = []
>>> a
[123, 1234]
>>> # Inserisce alcuni elementi:
... a[1:1] = ['bletch', 'xyzzy']
>>> a
[123, 'bletch', 'xyzzy', 1234]
>>> a[:0] = a     # Inserisce (una copia di) se stesso all'inizio
>>> a
[123, 'bletch', 'xyzzy', 1234, 123, 'bletch', 'xyzzy', 1234]


La funzione built-in len() si applica anche alle liste:

>>> len(a)
8

È possibile avere delle liste annidate (contenenti cioè altre liste), ad esempio:

>>> q = [2, 3]
>>> p = [1, q, 4]
>>> len(p)
3
>>> p[1]
[2, 3]
>>> p[1][0]
2
>>> p[1].append('xtra')     # Si veda la sezione 5.1
>>> p
[1, [2, 3, 'xtra'], 4]
>>> q
[2, 3, 'xtra']


Si noti che nell'ultimo esempio, p[1] e q si riferiscono proprio allo stesso oggetto! Ritorneremo più avanti sulla semantica degli oggetti.

3.2 Primi passi verso la programmazione

Di certo possiamo usare Python per compiti più complessi che fare due più due. Per esempio, possiamo scrivere una sottosuccessione iniziale della serie di Fibonacci facendo come segue:

>>> # La serie di Fibonacci:
... # la somma di due elementi definisce l'elemento successivo
... a, b = 0, 1
>>> while b < 10:
...       print b
...       a, b = b, a+b
... 
1
1
2
3
5
8

Questo esempio introduce parecchie nuove funzionalità.


python android




  • La prima riga contiene un assegnamento multiplo: le variabili a e b ricevono simultaneamente i nuovi valori 0 e 1. Ciò viene fatto di nuovo nell'ultima riga, a dimostrazione che le espressioni sul lato destro dell'assegnamento vengono tutte valutate prima di effettuare qualsiasi assegnamento. Le espressioni sul lato destro vengono valutate da sinistra a destra.

  • Il ciclo while viene eseguito fino a quando la condizione (in questo caso b < 10) rimane vera. In Python, come in C, qualsiasi valore diverso da zero è vero; zero è falso. La condizione può anche essere il valore di una stringa o di una lista, di fatto di una sequenza qualsiasi; qualsiasi cosa con una lunghezza diversa da zero ha valore logico vero, sequenze vuote hanno valore logico falso. Il test usato nell'esempio è una semplice comparazione. Gli operatori standard di confronto sono scritti come in C: < (minore di), > (maggiore di), == (uguale a), <= (minore o uguale a), >= (maggiore o uguale a) e != (diverso da).

  • Il corpo del ciclo è indentato: l'indentazione è il sistema con cui Python raggruppa le istruzioni. Python non possiede (per il momento!) un servizio di editing intelligente dell'input da riga di comando, per cui si devono introdurre una tabulazione o uno o più spazi per ogni riga indentata. In pratica si dovranno trattare gli input per Python più complicati con un editor di testo; la maggior parte degli editor di testo hanno una funzione di auto-indentazione. Quando un'istruzione composta viene immessa interattivamente, dev'essere seguita da una riga vuota per indicarne il completamento (dato che il parser non può sapere quando si è digitata l'ultima riga). Osservate che ogni riga all'interno di un blocco base dev'essere indentata in ugual misura.

  • L'istruzione print stampa a video il valore dell'espressione, o delle espressioni, che le viene passata. Differisce dal semplice scrivere l'espressione che si vuole (come abbiamo fatto precedentemente negli esempi sull'uso come calcolatrice) per il modo in cui gestisce espressioni multiple e stringhe. Le stringhe vengono stampate senza virgolette, e viene inserito uno spazio tra gli elementi, quindi si possono formattare elegantemente i risultati, come in questo esempio:
    >>> i = 256*256
    >>> print 'Il valore di i è', i
    Il valore di i è 65536

    Una virgola finale evita il fine riga dopo l'output:

    >>> a, b = 0, 1
    >>> while b < 1000:
    ...     print b,
    ...     a, b = b, a+b
    ... 
    1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987

    Si noti che l'interprete inserisce un fine riga prima di stampare il prompt successivo se l'ultima riga non è stata completata.


 
Ricerca personalizzata


Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:

venerdì 11 gennaio 2013

Il tutorial de Python, prima parte: come usare l'interprete Python.

Python logoPython è un linguaggio di programmazione potente e di facile apprendimento. Utilizza efficienti strutture dati di alto livello e un semplice ma efficace approccio alla programmazione orientata agli oggetti. 

L'elegante sintassi di Python e la tipizzazione dinamica, unite alla sua natura di linguaggio interpretato, lo rendono ideale per lo scripting e lo sviluppo rapido di applicazioni in molte aree diverse e sulla maggior parte delle piattaforme. 

L'interprete Python e l'ampia libreria standard sono liberamente disponibili, in file sorgenti o binari, per tutte le principali piattaforme sul sito web di Python,  e possono essere liberamente distribuiti. Lo stesso sito contiene anche, oltre alle distribuzioni, puntatori a molti moduli Python liberi e gratuiti di terzi, interi programmi, strumenti di sviluppo e documentazione addizionale. 

L'interprete Python è facilmente estendibile con nuove funzioni o tipi di dato implementati in C o C++ (o altri linguaggi richiamabili dal C). Python è anche adatto come linguaggio di estensione per applicazioni personalizzabili. 

Questo tutorial introduce informalmente il lettore ai concetti e alle caratteristiche base del linguaggio e del sistema Python. È di aiuto avere un interprete Python a portata di mano per fare esperienza diretta, ma tutti gli esempi sono autoesplicativi, quindi il tutorial può essere letto anche a elaboratore spento.

Questo tutorial non si propone di essere onnicomprensivo e di coprire ogni singola funzionalità o anche solo quelle più comunemente usate. Vuole essere piuttosto un'introduzione alle caratteristiche più notevoli di Python e fornire un'idea precisa dello stile del linguaggio. 

python_editor
  • Usare l'interprete Python.
  • Invocare l'interprete.
L'interprete Python sulle macchine Unix sulle quali è disponibile di solito è installato in /usr/local/bin/; aggiungendo /usr/local/bin al percorso di ricerca della shell è possibile farlo partire digitando il comando:
python

dalla shell. Dato che la directory in cui collocare l'interprete può essere scelta al momento dell'installazione, è possibile collocarlo altrove; in caso si consulti il proprio guru Python locale o l'amministratore di sistema (per esempio, /usr/local/python è un'alternativa diffusa).

 Digitare un carattere di EOF (Control-D su Unix, Control-Z su Windows) al prompt primario fa sì che l'interprete esca con uno status pari a zero. Se non funziona, si può uscire digitando i seguenti comandi: "import sys; sys.exit()".
Le funzioni di editing di riga dell'interprete di solito non sono molto sofisticate. Su Unix, chiunque abbia installato l'interprete può avere abilitato il supporto per la libreria GNU readline, che aggiunge funzionalità di storico e di editing interattivo più avanzate. Forse il modo più rapido di controllare se sia supportato l'editing della riga di comando è di digitare Control-P al primo prompt Python che si riceve. 
 
L'interprete opera all'incirca come una shell Unix: quando viene lanciato con lo standard input connesso ad un terminale legge ed esegue interattivamente dei comandi; quando viene invocato con il nome di un file come argomento o con un file come standard input legge ed esegue uno script da quel file.
Un secondo modo di lanciare l'interprete è tramite "python -c comando [arg] ...", che esegue la/e istruzione/i contenuta/e in comando, analogamente a quanto succede per l'opzione -c della shell. Dato che spesso le istruzioni Python contengono spazi o altri caratteri che la shell considera speciali, è molto meglio racchiudere integralmente comando tra doppie virgolette.

 Si noti che c'è una differenza tra "python file" e "python < file". Nel secondo caso le richieste di input del programma, ad esempio chiamate ad input() e raw_input(), vengono soddisfatte da file. Dato che questo file è già stato letto fino alla fine dall'analizzatore sintattico ('parser') prima che il programma venga effettivamente eseguito, il programma si imbatterà immediatamente in EOF. Nel primo caso (che di solito è quello più utile) le richieste vengono soddisfatte da qualunque file o dispositivo sia connesso allo standard input dell'interprete Python.

 Quando si usa un file di script, talvolta è utile poter lanciare lo script e successivamente entrare in modalità interattiva. Lo si può ottenere passando l'opzione -i prima dello script. Non funziona se lo script viene letto dallo standard input, per lo stesso motivo illustrato nel paragrafo precedente.

Passaggio di argomenti.

Quando noti all'interprete, il nome dello script e gli argomenti addizionali sono passati allo script tramite la variabile sys.argv, che è una lista di stringhe. La sua lunghezza minima è uno; quando non vengono forniti né script né argomenti, sys.argv[0] è una stringa vuota. Quando il nome dello script è fornito come '-' (che identifica lo standard input), sys.argv[0] viene impostato a '-'. Allorché viene usato -c comando, sys.argv[0] viene impostato a -c. Le opzioni trovate dopo -c comando non vengono consumate nell'elaborazione delle opzioni da parte dell'interprete Python, ma lasciate in sys.argv per essere gestite dal comando.

Modo interattivo.

Quando i comandi vengono letti da un terminale, si dice che l'interprete è in modalità interattiva. In questa modalità esso presenta, in attesa del prossimo comando, un prompt primario, composto di solito da tre segni consecutivi di maggiore (">>> "); per le righe di continuazione il prompt predefinito è quello secondario, tre punti consecutivi ("... "). L'interprete stampa a video un messaggio di benvenuto in cui compare il numero di versione e un avviso di copyright prima del prompt iniziale, p.e.:


python
Python 1.5.2b2 (#1, Feb 28 1999, 00:02:06)  [GCC 2.8.1] on sunos5
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>>

Le righe di continuazione sono necessarie quando si introduce un costrutto multiriga. Come esempio si prenda questo blocco if:


>>> il_mondo_è_piatto = 1
>>> if il_mondo_è_piatto:
...     print "Occhio a non caderne fuori!"
... 

python-idle-ubuntu-install

L'Interprete e il suo ambiente.

  

Gestione degli errori.

Quando sopravviene un errore, l'interprete stampa un messaggio di errore e una traccia dello stack. Se si trova in modalità interattiva ritorna poi al prompt primario; se l'input proveniva da un file, esce con uno stato diverso da zero dopo aver stampato la traccia dello stack. Eccezioni gestite da una clausola except in un'istruzione try non sono errori in questo contesto. Alcuni errori sono incondizionatamente fatali e provocano un'uscita con uno stato diverso da zero; ciò accade quando si tratta di problemi interni dell'interprete e di alcuni casi di esaurimento della memoria. Tutti i messaggi di errore vengono scritti nel flusso dello standard error; l'output normale dei comandi eseguiti viene scritto sullo standard output.
Digitando il carattere di interruzione (di solito Ctrl-C o CANC) al prompt primario o secondario si cancella l'input e si ritorna al prompt primario.Digitando un'interruzione mentre un comando è in esecuzione viene sollevata un'eccezione KeyboardInterrupt, che può essere gestita tramite un'istruzione try.

Script Python eseguibili.

Sui sistemi Unix in stile BSD, gli script Python possono essere resi direttamente eseguibili, come per gli script di shell, ponendo all'inizio dello script la riga

#! /usr/bin/env python

(dato per scontato che l'interprete si trovi nel PATH dell'utente) e dando al file il permesso di esecuzione. I caratteri "#!" devono essere i primi due del file. Su qualche piattaforma, questa prima riga terminerà in stile Unix ("\n"), non in Mac OS ("\r") o in Windows ("\r\n"). Si noti che il carattere hash "#" (NdT: in italiano cancelletto, diesis) viene usato in Python per iniziare un commento).
Lo script può essere reso eseguibile, modificandone i permessi, usando il comando chmod:

$ chmod +x myscript.py

Codifica dei file sorgenti.


È possibile usare una codifica differente dall'ASCII nei file sorgenti Python. La strada maestra consiste nell'inserire una speciale riga di commento che definisca la codifica del file sorgente, appena dopo la riga che inizia con #!:

# -*- coding: iso-8859-1 -*-
-->
Con questa dichiarazione, tutti i caratteri nel sorgente verranno elaborati come iso-8859-1 e sarà possibile scrivere direttamente stringhe costanti Unicode (NdT: string literals --> stringhe costanti manifeste, abbreviato con stringhe costanti. Nei testi di teoria informatica ``costanti manifeste'' è la normale espressione italiana dove in quelli in inglese si trova ``literals'') nella codifica selezionata.

Se si usa un editor che supporta il salvataggio dei file in UTF-8, con l'indicazione UTF-8 byte order mark (ovvero BOM), è possibile usare questo sistema al posto della dichiarazione. IDLE supporta questa caratteristica se è stato impostato Options/General/Default Source Encoding/UTF-8. Da notare che questa indicazione non è ammessa in vecchie versioni di Python (2.2 e precedenti) e anche che non è consentita dal sistema operativo per i file #!.

Usando l'UTF-8 (con il metodo dell'indicazione o quello della dichiarazione della codifica), si potranno usare simultaneamente caratteri di molte delle lingue usate nel mondo in stringhe costanti o commenti. Non sono supportati i caratteri non-ASCIInegli identificatori. Per poter visualizzare correttamente tutti questi caratteri, si dovrà usare un editor in grado di riconoscere file UTF-8 e utilizzare font che sappiano rappresentare correttamente i caratteri presenti nel file.

Il file di avvio in modalità interattiva.
Quando si usa Python interattivamente, risulta spesso comodo che alcuni comandi standard vengano eseguiti ad ogni lancio dell'interprete. È possibile farlo configurando appositamente una variabile d'ambiente chiamata PYTHONSTARTUP con il nome di un file contenente i propri comandi di avvio, all'incirca come si fa con .profile per le shell Unix.
Tale file viene letto solo nelle sessioni interattive, non quando Python legge comandi da uno script, e nemmeno quando il file di dispositivo /dev/tty è fornito espressamente come fonte dei comandi (altrimenti si comporterebbe come in una sessione interattiva). Il file viene eseguito nello stesso spazio dei nomi dove vengono eseguiti i comandi interattivi, cosicché gli oggetti che definisce o importa possono essere usati senza essere qualificati nella sessione interattiva. È anche possibile cambiare i prompt, primario sys.ps1 e secondario sys.ps2 tramite questo file.
Se si vuole far leggere all'interprete un file di avvio addizionale dalla directory corrente, è possibile farlo tramite il file di avvio globale, per esempio "if os.path.isfile('.pythonrc.py'): execfile('.pythonrc.py')". Se si vuole utilizzare il file di avvio in uno script, bisogna indicarlo esplicitamente nello script:

import os
nomefile = os.environ.get('PYTHONSTARTUP')
if nomefile and os.path.isfile(nomefile):
    execfile(nomefile)


python-cli-ubuntu
 
Ricerca personalizzata


Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:

Ultimi articoli pubblicati

RSVP (Raccomandati Se Vi Piacciono)

Antipixels & Counters

SIMBA wirepress tua notizia Segnala Feed Andrix Segnala Feed iFeed WebShake – tecnologia Blogstreet - dove il blog è di casaVero Geek iwinuxfeed.altervista.org Add to Technorati Favorites ElencoSiti Aggregatore Il Bloggatore visitor stats Programming Blogs - Blog Catalog Blog Directory Feedelissimo Paperblog : le migliori informazioni in diretta dai blog Notizie Informatiche