Iniziare con Python Language

Download python eBook

Osservazioni

Logo Python
Python
è un linguaggio di programmazione ampiamente utilizzato. È:

  • Alto livello : Python automatizza operazioni di basso livello come la gestione della memoria. Lascia il programmatore con un controllo un po 'meno ma ha molti vantaggi, tra cui la leggibilità del codice e le espressioni minime del codice.

  • Scopo generale : Python è progettato per essere utilizzato in tutti i contesti e ambienti. Un esempio per un linguaggio non generico è PHP: è stato progettato specificatamente come linguaggio di scripting per lo sviluppo web lato server. Al contrario, Python può essere utilizzato per lo sviluppo web lato server, ma anche per la creazione di applicazioni desktop.

  • Digitazione dinamica : ogni variabile in Python può fare riferimento a qualsiasi tipo di dati. Una singola espressione può valutare dati di tipi diversi in tempi diversi. A causa di ciò, è possibile il seguente codice:

    if something:
        x = 1
    else:
        x = 'this is a string'
    print(x)
    
  • Fortemente digitato : durante l'esecuzione del programma, non ti è permesso fare nulla che sia incompatibile con il tipo di dati con cui stai lavorando. Ad esempio, non ci sono conversioni nascoste da stringhe a numeri; una stringa composta da cifre non verrà mai trattata come un numero se non la si converte esplicitamente:

    if something:
        x = 1
    else:
        x = 'this is a string'
    print(x)
    
  • Beginner friendly :) : la sintassi e la struttura di Python sono molto intuitive. È di alto livello e fornisce costrutti volti a consentire la scrittura di programmi chiari sia su piccola che su larga scala. Python supporta diversi paradigmi di programmazione, compresi gli stili di programmazione orientati agli oggetti, imperativi e funzionali o procedurali. Ha una libreria standard ampia e completa e molte librerie di terze parti facili da installare.

I suoi principi di progettazione sono delineati in The Zen of Python .

Attualmente ci sono due principali rami di rilascio di Python che presentano alcune differenze significative. Python 2.x è la versione legacy sebbene veda ancora un uso diffuso. Python 3.x crea un insieme di modifiche incompatibili all'indietro che mirano a ridurre la duplicazione delle funzionalità. Per assistenza per decidere quale versione è la migliore per te, consulta questo articolo .

La documentazione ufficiale di Python è anche una risorsa completa e utile, contenente documentazione per tutte le versioni di Python e tutorial per aiutarti a iniziare.

Esiste un'implementazione ufficiale della lingua fornita da Python.org, generalmente denominata CPython, e diverse implementazioni alternative del linguaggio su altre piattaforme di runtime. Questi includono IronPython (eseguendo Python sulla piattaforma .NET), Jython (sul runtime Java) e PyPy (implementando Python in un sottoinsieme di se stesso).

Versioni

Python 3.x

Versione Data di rilascio
[3.7] 2017/05/08
3.6 2016/12/23
3.5 2015/09/13
3.4 2014/03/17
3.3 2012/09/29
3.2 2011-02-20
3.1 2009-06-26
3.0 2008-12-03

Python 2.x

Versione Data di rilascio
2.7 2010-07-03
2.6 2008-10-02
2.5 2006-09-19
2.4 2004-11-30
2.3 2003/07/29
2.2 2001/12/21
2.1 2001/04/15
2.0 2000/10/16

Iniziare

Python è un linguaggio di programmazione di alto livello ampiamente utilizzato per la programmazione generica, creato da Guido van Rossum e rilasciato per la prima volta nel 1991. Python dispone di un sistema di tipo dinamico e gestione automatica della memoria e supporta molteplici paradigmi di programmazione, incluso l'imperativo orientato agli oggetti programmazione funzionale e stili procedurali. Ha una libreria standard ampia e completa.

Due versioni principali di Python sono attualmente in uso:

  • Python 3.x è la versione corrente ed è in fase di sviluppo attivo.
  • Python 2.x è la versione legacy e riceverà solo aggiornamenti di sicurezza fino al 2020. Non saranno implementate nuove funzionalità. Nota che molti progetti usano ancora Python 2, anche se la migrazione a Python 3 sta diventando più semplice.

Puoi scaricare e installare entrambe le versioni di Python qui . Vedi Python 3 vs Python 2 per un confronto tra di loro. Inoltre, alcune terze parti offrono versioni re-pacchettizzate di Python che aggiungono librerie e altre funzionalità di uso comune per semplificare l'installazione per casi di uso comune, come matematica, analisi dei dati o uso scientifico. Vedi la lista sul sito ufficiale .

Verifica se Python è installato

Per verificare che Python sia stato installato correttamente, è possibile verificarlo eseguendo il seguente comando nel terminale preferito (se si utilizza il sistema operativo Windows, è necessario aggiungere il percorso di python alla variabile di ambiente prima di utilizzarlo nel prompt dei comandi):

$ python --version
 
Python 3.x 3.0

Se hai installato Python 3 ed è la tua versione di default (vedi Risoluzione dei problemi per maggiori dettagli) dovresti vedere qualcosa di simile a questo:

$ python --version
 
Python 2.x 2.7

Se hai installato Python 2 ed è la tua versione di default (vedi Risoluzione dei problemi per maggiori dettagli) dovresti vedere qualcosa di simile a questo:

$ python --version
 

Se hai installato Python 3, ma $ python --version restituisce una versione di Python 2, hai anche Python 2 installato. Questo è spesso il caso di MacOS e di molte distribuzioni Linux. Usa $ python3 invece di usare esplicitamente l'interprete Python 3.

Ciao, World in Python usando IDLE


IDLE è un semplice editor per Python, che viene fornito in bundle con Python.

Come creare il programma Hello, World in IDLE

  • Apri IDLE sul tuo sistema preferito.
    • Nelle versioni precedenti di Windows, può essere trovato in All Programs dal menu di Windows.
    • In Windows 8+, cerca IDLE o IDLE nelle app presenti nel tuo sistema.
    • Sui sistemi basati su Unix (incluso Mac) è possibile aprirlo dalla shell digitando $ idle python_file.py .
  • Si aprirà una shell con opzioni lungo la parte superiore.

Nella shell, vi è un prompt di tre parentesi angolari:

$ python --version
 

Ora scrivi il seguente codice nel prompt:

$ python --version
 

Premi Invio .

$ python --version
 

Ciao file World Python

Crea un nuovo file hello.py che contiene la seguente riga:

Python 3.x 3.0
$ python --version
 
Python 2.x 2.6

Puoi utilizzare la funzione di print Python 3 in Python 2 con la seguente dichiarazione di import :

$ python --version
 

Python 2 ha un numero di funzionalità che possono essere facoltativamente importate da Python 3 usando il modulo __future__ , come discusso qui .

Python 2.x 2.7

Se usi Python 2, puoi anche digitare la riga qui sotto. Si noti che questo non è valido in Python 3 e quindi non raccomandato in quanto riduce la compatibilità del codice cross-version.

$ python --version
 

Nel tuo terminale, vai alla directory contenente il file hello.py .

python hello.py , quindi premi il tasto Invio .

$ python --version
 

Dovresti vedere Hello, World stampato sulla console.

Puoi anche sostituire hello.py con il percorso del tuo file. Ad esempio, se hai il file nella tua home directory e il tuo utente è "utente" su Linux, puoi digitare python /home/user/hello.py .

Avvia una shell Python interattiva

Eseguendo (eseguendo) il comando python nel tuo terminale, ti viene presentata una shell Python interattiva. Questo è anche noto come Interprete Python o REPL (per 'Read Evaluate Print Loop').

$ python --version
 

Se vuoi eseguire Python 3 dal tuo terminale, esegui il comando python3 .

$ python --version
 

In alternativa, avviare il prompt interattivo e caricare il file con python -i <file.py> .

Nella riga di comando, esegui:

$ python --version
 

Esistono diversi modi per chiudere la shell Python:

$ python --version
 

o

$ python --version
 

In alternativa, CTRL + D chiuderà la shell e ti rimetterà sulla riga di comando del tuo terminale.

Se vuoi annullare un comando sei nel bel mezzo della digitazione e tornare a un prompt dei comandi pulito, mentre stai all'interno della shell Interpreter, usa CTRL + C.

Prova una shell Python interattiva online .

Altre conchiglie online

Vari siti web forniscono accesso online alle shell Python.

Le shell online possono essere utili per i seguenti scopi:

  • Esegui un piccolo snippet di codice da una macchina che manca dell'installazione python (smartphone, tablet, ecc.).
  • Impara o insegna Basic Python.
  • Risolvi i problemi del giudice online.

Esempi:

Dichiarazione di non responsabilità: gli autori della documentazione non sono affiliati con le risorse elencate di seguito.

Esegui i comandi come una stringa

Python può essere passato codice arbitrario come una stringa nella shell:

$ python --version
 

Questo può essere utile quando si concatenano i risultati degli script insieme nella shell.

Conchiglie e oltre

Gestione dei pacchetti - Lo strumento consigliato da PyPA per installare i pacchetti Python è PIP . Per installare, nella riga di comando eseguire pip install <the package name> . Ad esempio, pip install numpy . (Nota: su Windows è necessario aggiungere pip alle variabili di ambiente PATH. Per evitare ciò, utilizzare python -m pip install <the package name> )

Conchiglie - Finora, abbiamo discusso diversi modi per eseguire codice usando la shell interattiva nativa di Python. I gusci usano il potere interpretativo di Python per sperimentare il codice in tempo reale. Le shell alternative includono IDLE , una GUI preconnessa , IPython , nota per l'estensione dell'esperienza interattiva e così via.

Programmi : per la memorizzazione a lungo termine è possibile salvare il contenuto in file .py e modificarli / eseguirli come script o programmi con strumenti esterni, ad esempio shell, IDE (come PyCharm ), quaderni Jupyter , ecc. Gli utenti intermedi possono utilizzare questi strumenti; tuttavia, i metodi discussi qui sono sufficienti per iniziare.

Il tutor Python ti consente di scorrere il codice Python in modo da poter visualizzare il flusso del programma e aiutarti a capire dove il programma è andato storto.

PEP8 definisce le linee guida per la formattazione del codice Python. La formattazione del codice è importante per poter leggere rapidamente ciò che fa il codice.

Blocco indentazione

Python utilizza il rientro per definire i costrutti di controllo e di loop. Ciò contribuisce alla leggibilità di Python, tuttavia richiede al programmatore di prestare molta attenzione all'uso degli spazi bianchi. Pertanto, l'errata taratura dell'editor potrebbe comportare un codice che si comporta in modi imprevisti.

Python utilizza il simbolo due punti ( : ) e rientro per mostrare dove blocchi di codice iniziano e finiscono (Se si proviene da un'altra lingua, non confondere questo con qualche modo essere legato alla operatore ternario ). Cioè, i blocchi in Python, come le funzioni, i cicli, le clausole if e altri costrutti, non hanno identificatori finali. Tutti i blocchi iniziano con due punti e quindi contengono le linee rientrate sotto di esso.

Per esempio:

def my_function():    # This is a function definition. Note the colon (:)
    a = 2             # This line belongs to the function because it's indented
    return a          # This line also belongs to the same function
print(my_function())  # This line is OUTSIDE the function block
 

o

def my_function():    # This is a function definition. Note the colon (:)
    a = 2             # This line belongs to the function because it's indented
    return a          # This line also belongs to the same function
print(my_function())  # This line is OUTSIDE the function block
 

I blocchi che contengono esattamente un'istruzione a riga singola possono essere messi sulla stessa riga, sebbene questo modulo non sia generalmente considerato di buon livello:

def my_function():    # This is a function definition. Note the colon (:)
    a = 2             # This line belongs to the function because it's indented
    return a          # This line also belongs to the same function
print(my_function())  # This line is OUTSIDE the function block
 

Il tentativo di eseguire questa operazione con più di una singola istruzione non funzionerà:

def my_function():    # This is a function definition. Note the colon (:)
    a = 2             # This line belongs to the function because it's indented
    return a          # This line also belongs to the same function
print(my_function())  # This line is OUTSIDE the function block
 

Un blocco vuoto causa un IndentationError . Usa pass (un comando che non fa nulla) quando hai un blocco senza contenuto:

def my_function():    # This is a function definition. Note the colon (:)
    a = 2             # This line belongs to the function because it's indented
    return a          # This line also belongs to the same function
print(my_function())  # This line is OUTSIDE the function block
 

Spazi contro schede

In breve: usa sempre 4 spazi per il rientro.

L'uso esclusivo delle schede è possibile ma PEP 8 , la guida di stile per il codice Python, afferma che gli spazi sono preferiti.

Python 3.x 3.0

Python 3 non consente di mescolare l'uso di tabulazioni e spazi per il rientro. In tal caso viene generato un errore in fase di compilazione: Inconsistent use of tabs and spaces in indentation e il programma non verrà eseguito.

Python 2.x 2.7

Python 2 consente di mescolare tab e spazi in indentazione; questo è fortemente scoraggiato. Il carattere di tabulazione completa il rientro precedente per essere un multiplo di 8 spazi . Poiché è comune che gli editor siano configurati per mostrare le schede come multipli di 4 spazi, ciò può causare bug sottili.

Citando PEP 8 :

Quando si richiama l'interprete della riga di comando Python 2 con l'opzione -t , emette avvisi sul codice che mescola illegalmente tab e spazi. Quando si utilizza -tt questi avvisi diventano errori. Queste opzioni sono altamente raccomandate!

Molti editor hanno la configurazione "tabs to spaces". Quando si configura l'editor, è necessario distinguere tra il carattere di tabulazione ('\ t') e il tasto Tab .

  • Il carattere di tabulazione deve essere configurato per mostrare 8 spazi, in modo che corrispondano alla semantica della lingua, almeno nei casi in cui è possibile indentazione mista (accidentale). Gli editor possono anche convertire automaticamente il carattere di tabulazione in spazi.
  • Tuttavia, potrebbe essere utile configurare l'editor in modo che premendo il tasto Tab si inseriscano 4 spazi, invece di inserire un carattere di tabulazione.

Il codice sorgente Python scritto con una combinazione di schede e spazi o con un numero non standard di spazi di indentazione può essere reso conforme a pep8 usando autopep8 . (Un'alternativa meno potente viene fornita con la maggior parte delle installazioni Python: reindent.py )

Moduli e funzioni integrati

Un modulo è un file contenente definizioni e definizioni Python. La funzione è un pezzo di codice che esegue una logica.

>>> pow(2,3)    #8
 

Per controllare la funzione integrata in python possiamo usare dir(). Se chiamato senza un argomento, restituisce i nomi nell'ambito corrente. Altrimenti, restituisci un elenco alfabetico di nomi che comprende (alcuni) l'attributo dell'oggetto dato e degli attributi raggiungibili da esso.

>>> pow(2,3)    #8
 

Per conoscere la funzionalità di qualsiasi funzione, siamo in grado di utilizzare costruito in funzione di help .

>>> pow(2,3)    #8
 

I moduli integrati contengono funzionalità aggiuntive. Ad esempio, per ottenere la radice quadrata di un numero, è necessario includere il modulo math .

>>> pow(2,3)    #8
 

Per conoscere tutte le funzioni di un modulo, è possibile assegnare l'elenco delle funzioni a una variabile, quindi stampare la variabile.

>>> pow(2,3)    #8
 

sembra che __doc__ sia utile per fornire documentazione, ad esempio, sulle funzioni

>>> pow(2,3)    #8
 

Oltre alle funzioni, la documentazione può essere fornita anche in moduli. Quindi, se hai un file chiamato helloWorld.py questo modo:

>>> pow(2,3)    #8
 

Puoi accedere alle sue docstring in questo modo:

>>> pow(2,3)    #8
 
  • Per qualsiasi tipo definito dall'utente, i suoi attributi, gli attributi della sua classe e in modo ricorsivo gli attributi delle classi base della sua classe possono essere recuperati usando dir ()
>>> pow(2,3)    #8
 

Qualsiasi tipo di dati può essere semplicemente convertito in stringa usando una funzione incorporata chiamata str . Questa funzione è chiamata per impostazione predefinita quando viene passato un tipo di dati per la print

>>> pow(2,3)    #8
 

Tipi di raccolta

Esistono numerosi tipi di raccolta in Python. Mentre tipi come int e str mantengono un singolo valore, i tipi di raccolta contengono più valori.

elenchi

Il tipo di list è probabilmente il tipo di raccolta più comunemente utilizzato in Python. Nonostante il suo nome, una lista è più simile a un array in altre lingue, principalmente JavaScript. In Python, una lista è semplicemente una raccolta ordinata di valori Python validi. Un elenco può essere creato racchiudendo valori, separati da virgole, tra parentesi quadre:

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Una lista può essere vuota:

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Gli elementi di un elenco non sono limitati a un singolo tipo di dati, il che ha senso dato che Python è un linguaggio dinamico:

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Una lista può contenere un altro elenco come suo elemento:

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Gli elementi di una lista sono accessibili tramite un indice o una rappresentazione numerica della loro posizione. Gli elenchi in Python sono indicizzati a zero, ovvero il primo elemento nell'elenco è all'indice 0, il secondo elemento è all'indice 1 e così via:

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Gli indici possono anche essere negativi, il che significa contare dalla fine della lista ( -1 è l'indice dell'ultimo elemento). Quindi, usando l'elenco dell'esempio precedente:

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Le liste sono mutabili, quindi puoi cambiare i valori in una lista:

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Inoltre, è possibile aggiungere e / o rimuovere elementi da una lista:

Aggiungi oggetto alla fine della lista con L.append(object) , restituisce None .

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Aggiungi un nuovo elemento da elencare in un indice specifico. L.insert(index, object)

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Rimuovi la prima occorrenza di un valore con L.remove(value) , restituisce None

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Ottieni l'indice nell'elenco del primo elemento il cui valore è x. Mostrerà un errore se non esiste tale elemento.

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Conta la lunghezza della lista

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

conta il verificarsi di qualsiasi elemento nell'elenco

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Invertire la lista

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Rimuovi e restituisci l'oggetto all'indice (predefinito all'ultima voce) con L.pop([index]) , restituisce l'elemento

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Puoi scorrere gli elementi dell'elenco come di seguito:

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Le tuple

Una tuple è simile a una lista tranne che è a lunghezza fissa e immutabile. Pertanto, i valori nella tupla non possono essere modificati, né i valori possono essere aggiunti o rimossi dalla tupla. Le tuple vengono comunemente utilizzate per piccole raccolte di valori che non dovranno essere modificate, ad esempio un indirizzo IP e una porta. Le tuple sono rappresentate con parentesi invece di parentesi quadre:

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Le stesse regole di indicizzazione per le liste si applicano anche alle tuple. Le tuple possono anche essere annidate e i valori possono essere validi per qualsiasi Python valido.

Una tupla con un solo membro deve essere definita (notare la virgola) in questo modo:

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

o

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

o semplicemente usando la sintassi della tuple

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

dizionari

Un dictionary in Python è una raccolta di coppie chiave-valore. Il dizionario è circondato da parentesi graffe. Ogni coppia è separata da una virgola e la chiave e il valore sono separati da due punti. Ecco un esempio:

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Per ottenere un valore, fare riferimento ad esso con la sua chiave:

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Puoi anche ottenere tutte le chiavi in ​​un dizionario e poi scorrere su di esse:

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

I dizionari assomigliano molto alla sintassi JSON. Il modulo json nativo nella libreria standard Python può essere usato per convertire tra JSON e dizionari.

impostato

Un set è una raccolta di elementi senza ripetizioni e senza ordine di inserimento ma ordine ordinato. Sono utilizzati in situazioni in cui è importante solo che alcune cose siano raggruppate insieme e non in quale ordine siano state incluse. Per gruppi di dati di grandi dimensioni, è molto più veloce verificare se un elemento è presente in un set piuttosto che fare lo stesso per un list .

Definire un set è molto simile alla definizione di un dictionary :

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Oppure puoi costruire un set usando un list esistente:

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Controlla l'appartenenza al set usando in :

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

È possibile scorrere su un set esattamente come un elenco, ma ricorda: i valori saranno in un ordine arbitrario definito dall'implementazione.

defaultdict

Un defaultdict è un dizionario con un valore predefinito per le chiavi, in modo che le chiavi per le quali non è stato definito alcun valore siano accessibili senza errori. defaultdict è particolarmente utile quando i valori nel dizionario sono raccolte (elenchi, dict, ecc.) nel senso che non è necessario inizializzarli ogni volta che si utilizza una nuova chiave.

Un defaultdict non genererà mai un KeyError. Qualsiasi chiave che non esiste ottiene il valore predefinito restituito.

Ad esempio, considera il seguente dizionario

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Se proviamo ad accedere a una chiave inesistente, python ci restituisce un errore come segue

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Proviamo con un defaultdict . Può essere trovato nel modulo delle collezioni.

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Quello che abbiamo fatto qui è di impostare un valore predefinito ( Boston ) nel caso in cui la chiave give non esiste. Ora compila il ditt come prima:

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Se proviamo ad accedere al dict con una chiave inesistente, python ci restituirà il valore predefinito, ovvero Boston

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

e restituisce i valori creati per la chiave esistente proprio come un normale dictionary

int_list = [1, 2, 3]
string_list = ['abc', 'defghi']
 

Creare un modulo

Un modulo è un file importabile contenente definizioni e istruzioni.

Un modulo può essere creato creando un file .py .

# hello.py
def say_hello():
    print("Hello!")
 

Le funzioni di un modulo possono essere utilizzate importando il modulo.

Per i moduli che hai creato, dovranno essere nella stessa directory del file in cui li stai importando. (Tuttavia, è anche possibile inserirli nella directory lib Python con i moduli pre-inclusi, ma se possibile dovrebbe essere evitato.)

# hello.py
def say_hello():
    print("Hello!")
 

I moduli possono essere importati da altri moduli.

# hello.py
def say_hello():
    print("Hello!")
 

È possibile importare funzioni specifiche di un modulo.

# hello.py
def say_hello():
    print("Hello!")
 

I moduli possono essere di tipo alias.

# hello.py
def say_hello():
    print("Hello!")
 

Un modulo può essere uno script eseguibile autonomo.

# hello.py
def say_hello():
    print("Hello!")
 

Eseguirlo!

# hello.py
def say_hello():
    print("Hello!")
 

Se il modulo si trova in una directory e deve essere rilevato da python, la directory deve contenere un file denominato __init__.py .

Creazione di variabili e assegnazione di valori

Per creare una variabile in Python, tutto ciò che devi fare è specificare il nome della variabile, e quindi assegnargli un valore.

<variable name> = <value>
 

Python usa = per assegnare valori alle variabili. Non è necessario dichiarare una variabile in anticipo (o assegnargli un tipo di dati), assegnare un valore a una variabile stessa dichiara e inizializza la variabile con quel valore. Non c'è modo di dichiarare una variabile senza assegnargli un valore iniziale.

<variable name> = <value>
 

L'assegnazione variabile funziona da sinistra a destra. Quindi il seguente ti darà un errore di sintassi.

<variable name> = <value>
 

Non è possibile utilizzare le parole chiave di python come nome di una variabile valida. Puoi vedere l'elenco delle parole chiave per:

<variable name> = <value>
 

Regole per la denominazione delle variabili:

  1. I nomi delle variabili devono iniziare con una lettera o un trattino basso.
<variable name> = <value>
 
  1. Il resto del nome della variabile può essere composto da lettere, numeri e caratteri di sottolineatura.
<variable name> = <value>
 
  1. I nomi sono case sensitive.
<variable name> = <value>
 

Anche se non c'è bisogno di specificare un tipo di dati quando si dichiara una variabile in Python, mentre assegnando lo spazio necessario in memoria per la variabile, l'interprete Python preleva automaticamente il più adatto tipo incorporato per esso:

<variable name> = <value>
 

Ora conosci le basi del compito, prendi questa sottigliezza sull'assegnazione in python.

Quando si usa = per eseguire un'operazione di assegnazione, ciò che si trova a sinistra di = è un nome per l' oggetto sulla destra. Infine, what = does assegna il riferimento dell'oggetto a destra al nome a sinistra.

Questo è:

<variable name> = <value>
 

Quindi, da molti esempi di assegnazione sopra, se selezioniamo pi = 3.14 , allora pi è un nome (non il nome, poiché un oggetto può avere più nomi) per l'oggetto 3.14 . Se non capisci qualcosa di seguito, torna a questo punto e rileggilo! Inoltre, puoi dare un'occhiata a questo per una migliore comprensione.


È possibile assegnare più valori a più variabili in una riga. Si noti che ci deve essere lo stesso numero di argomenti sui lati destro e sinistro dell'operatore = :

<variable name> = <value>
 

L'errore nell'ultimo esempio può essere eliminato assegnando i valori rimanenti a un numero uguale di variabili arbitrarie. Questa variabile fittizia può avere qualsiasi nome, ma è normale utilizzare il carattere di sottolineatura ( _ ) per l'assegnazione di valori indesiderati:

<variable name> = <value>
 

Si noti che il numero di _ e il numero di valori rimanenti devono essere uguali. Altrimenti 'troppi valori per decomprimere l'errore' vengono lanciati come sopra:

<variable name> = <value>
 

È anche possibile assegnare un singolo valore a più variabili contemporaneamente.

<variable name> = <value>
 

Quando si utilizza tale assegnazione a cascata, è importante notare che tutte e tre le variabili a , b e c riferiscono allo stesso oggetto in memoria, un oggetto int con il valore di 1. In altre parole, a , b e c sono tre nomi diversi dato allo stesso oggetto int. Assegnare un oggetto diverso a uno di essi in seguito non cambia gli altri, proprio come previsto:

<variable name> = <value>
 

Quanto sopra vale anche per i tipi mutabili (come list , dict , ecc.) Così come è vero per i tipi immutabili (come int , string , tuple , ecc.):

<variable name> = <value>
 

Fin qui tutto bene. Le cose sono un po 'diverse quando si tratta di modificare l'oggetto (diversamente dall'assegnazione del nome a un oggetto diverso, che abbiamo fatto sopra) quando l'assegnazione a cascata è usata per i tipi mutabili. Dai uno sguardo qui sotto e lo vedrai in prima persona:

<variable name> = <value>
 

Gli elenchi annidati sono validi anche in python. Ciò significa che un elenco può contenere un altro elenco come elemento.

<variable name> = <value>
 

Infine, le variabili in Python non devono rimanere dello stesso tipo di quelle per cui sono state definite per la prima volta: puoi semplicemente usare = per assegnare un nuovo valore a una variabile, anche se quel valore è di un tipo diverso.

<variable name> = <value>
 

Se questo ti infastidisce, pensa al fatto che ciò che è a sinistra di = è solo un nome per un oggetto. Prima si chiama l'oggetto int con valore 2 a , quindi si cambia idea e si decide di assegnare il nome a a un oggetto string , con valore 'Nuovo valore'. Semplice, vero?

Tipi di dati

Tipi incorporati

booleani

bool : un valore booleano di True o False . Le operazioni logiche come and , or , not possono essere eseguite sui booleani.

x or y    # if x is False then y otherwise x 
x and y   # if x is False then x otherwise y
not x     # if x is True then False, otherwise True
 

In Python 2.xe in Python 3.x, un booleano è anche un int . Il tipo di bool è una sottoclasse del tipo int e True e False sono le sue uniche istanze:

x or y    # if x is False then y otherwise x 
x and y   # if x is False then x otherwise y
not x     # if x is True then False, otherwise True
 

Se i valori booleani vengono utilizzati nelle operazioni aritmetiche, i loro valori interi ( 1 e 0 per True e False ) verranno utilizzati per restituire un risultato intero:

x or y    # if x is False then y otherwise x 
x and y   # if x is False then x otherwise y
not x     # if x is True then False, otherwise True
 

Numeri

  • int : numero intero

    x or y    # if x is False then y otherwise x 
    x and y   # if x is False then x otherwise y
    not x     # if x is True then False, otherwise True
     

    Gli interi in Python hanno dimensioni arbitrarie.

    Nota: nelle versioni precedenti di Python era disponibile un tipo long diverso da int . I due sono stati unificati.

  • float : numero in virgola mobile; la precisione dipende dall'implementazione e dall'architettura di sistema, per CPython il tipo di dati float corrisponde a un doppio C.

    x or y    # if x is False then y otherwise x 
    x and y   # if x is False then x otherwise y
    not x     # if x is True then False, otherwise True
     
  • complex : numeri complessi

    x or y    # if x is False then y otherwise x 
    x and y   # if x is False then x otherwise y
    not x     # if x is True then False, otherwise True
     

Gli operatori < , <= , > e >= TypeError un'eccezione TypeError quando qualsiasi operando è un numero complesso.

stringhe

Python 3.x 3.0
  • str : una stringa unicode . Il tipo di 'hello'
  • bytes : una stringa di byte . Il tipo di b'hello'
Python 2.x 2.7
  • str : una stringa di byte . Il tipo di 'hello'
  • bytes : sinonimo di str
  • unicode : una stringa unicode . Il tipo di u'hello'

Sequenze e collezioni

Python distingue tra sequenze ordinate e raccolte non ordinate (come set e dict ).

  • le stringhe ( str , bytes , unicode ) sono sequenze

  • reversed : un ordine inverso di str con funzione reversed

    x or y    # if x is False then y otherwise x 
    x and y   # if x is False then x otherwise y
    not x     # if x is True then False, otherwise True
     
  • tuple : una raccolta ordinata di n valori di qualsiasi tipo ( n >= 0 ).

    x or y    # if x is False then y otherwise x 
    x and y   # if x is False then x otherwise y
    not x     # if x is True then False, otherwise True
     

    Supporta l'indicizzazione; immutabile; lavabile se tutti i suoi membri sono lavabili

  • list : una raccolta ordinata di n valori ( n >= 0 )

    x or y    # if x is False then y otherwise x 
    x and y   # if x is False then x otherwise y
    not x     # if x is True then False, otherwise True
     

    Non lavabile; mutevole.

  • set : una collezione non ordinata di valori unici. Gli articoli devono essere lavabili .

    x or y    # if x is False then y otherwise x 
    x and y   # if x is False then x otherwise y
    not x     # if x is True then False, otherwise True
     
  • dict : una collezione non ordinata di coppie chiave-valore uniche; le chiavi devono essere lavabili

    x or y    # if x is False then y otherwise x 
    x and y   # if x is False then x otherwise y
    not x     # if x is True then False, otherwise True
     

Un oggetto è lavabile se ha un valore di hash che non cambia mai durante la sua vita (ha bisogno di un __hash__() ) e può essere paragonato ad altri oggetti (ha bisogno di un __eq__() ). Gli oggetti lavabili che confrontano l'uguaglianza devono avere lo stesso valore di hash.

Costanti incorporate

In combinazione con i tipi di dati incorporati c'è un piccolo numero di costanti incorporate nello spazio dei nomi integrato:

  • True : il vero valore del bool
  • False : il valore falso del tipo built-in bool
  • None : un oggetto singleton utilizzato per segnalare che un valore è assente.
  • Ellipsis o ... : utilizzato in core Python3 + ovunque e limitato l'uso in Python2.7 + come parte della notazione array. numpy e pacchetti correlati usano questo come riferimento "include tutto" nelle matrici.
  • NotImplemented : un singleton utilizzato per indicare a Python che un metodo speciale non supporta gli argomenti specifici e Python proverà delle alternative se disponibili.
x or y    # if x is False then y otherwise x 
x and y   # if x is False then x otherwise y
not x     # if x is True then False, otherwise True
 
Python 3.x 3.0

None non ha ordini naturali. L'utilizzo degli operatori di confronto degli ordini ( < , <= , >= , > ) non è più supportato e genererà un TypeError .

Python 2.x 2.7

None è sempre inferiore a qualsiasi numero ( None < -32 True ).

Test del tipo di variabili

In python, possiamo controllare il tipo di dati di un oggetto usando il type funzione built-in.

x or y    # if x is False then y otherwise x 
x and y   # if x is False then x otherwise y
not x     # if x is True then False, otherwise True
 

Nelle istruzioni condizionali è possibile testare il tipo di dati con isinstance . Tuttavia, di solito non è incoraggiato a fare affidamento sul tipo di variabile.

x or y    # if x is False then y otherwise x 
x and y   # if x is False then x otherwise y
not x     # if x is True then False, otherwise True
 

Per informazioni sulle differenze tra type() e isinstance() leggi: Differenze tra isinstance e type in Python

Per verificare se qualcosa è di NoneType :

x or y    # if x is False then y otherwise x 
x and y   # if x is False then x otherwise y
not x     # if x is True then False, otherwise True
 

Conversione tra tipi di dati

È possibile eseguire la conversione del tipo di dati esplicita.

Ad esempio, '123' è di tipo str e può essere convertito in intero usando la funzione int .

x or y    # if x is False then y otherwise x 
x and y   # if x is False then x otherwise y
not x     # if x is True then False, otherwise True
 

La conversione da una stringa mobile come "123.456" può essere eseguita usando la funzione float .

x or y    # if x is False then y otherwise x 
x and y   # if x is False then x otherwise y
not x     # if x is True then False, otherwise True
 

Puoi anche convertire i tipi di sequenza o raccolta

x or y    # if x is False then y otherwise x 
x and y   # if x is False then x otherwise y
not x     # if x is True then False, otherwise True
 

Tipo di stringa esplicito alla definizione di valori letterali

Con le etichette di una sola lettera di fronte alle virgolette puoi dire quale tipo di corda vuoi definire.

  • b'foo bar' : risultati bytes in Python 3, str in Python 2
  • u'foo bar' : risultati str in Python 3, unicode in Python 2
  • 'foo bar' : risultati str
  • r'foo bar' : i risultati della cosiddetta stringa raw, in cui non sono necessari caratteri speciali di escape, tutto è preso alla lettera mentre hai digitato
x or y    # if x is False then y otherwise x 
x and y   # if x is False then x otherwise y
not x     # if x is True then False, otherwise True
 

Tipi di dati mutevoli e immutabili

Un oggetto è chiamato mutevole se può essere cambiato. Ad esempio, quando si passa una lista a una funzione, l'elenco può essere modificato:

x or y    # if x is False then y otherwise x 
x and y   # if x is False then x otherwise y
not x     # if x is True then False, otherwise True
 

Un oggetto è chiamato immutabile se non può essere modificato in alcun modo. Ad esempio, gli interi sono immutabili, poiché non c'è modo di cambiarli:

x or y    # if x is False then y otherwise x 
x and y   # if x is False then x otherwise y
not x     # if x is True then False, otherwise True
 

Nota che le variabili stesse sono mutabili, quindi possiamo riassegnare la variabile x , ma questo non cambia l'oggetto che x aveva precedentemente indicato. Ha fatto solo x puntare a un nuovo oggetto.

I tipi di dati le cui istanze sono mutabili sono chiamati tipi di dati mutabili e, analogamente, per oggetti e tipi di dati immutabili.

Esempi di tipi di dati immutabili:

  • int , long , float , complex
  • str
  • bytes
  • tuple
  • frozenset

Esempi di tipi di dati mutabili:

  • bytearray
  • list
  • set
  • dict

Aiuto Utility

Python ha diverse funzioni integrate nell'interprete. Se si desidera ottenere informazioni su parole chiave, funzioni, moduli o argomenti incorporati, aprire una console Python e immettere:

>>> help()
 

Riceverai informazioni inserendo le parole chiave direttamente:

>>> help()
 

o all'interno dell'utilità:

>>> help()
 

che mostrerà una spiegazione:

>>> help()
 

Puoi anche richiedere sottoclassi di moduli:

>>> help()
 

Puoi utilizzare la guida per accedere alle docstring dei diversi moduli che hai importato, ad esempio, prova quanto segue:

>>> help()
 

e avrai un errore

>>> help()
 

E ora riceverai un elenco dei metodi disponibili nel modulo, ma solo DOPO averlo importato.

Chiudete l'aiutante con quit

IDLE - GUI Python

IDLE è l'ambiente di sviluppo e apprendimento integrato di Python ed è un'alternativa alla linea di comando. Come suggerisce il nome, IDLE è molto utile per lo sviluppo di un nuovo codice o per l'apprendimento di python. Su Windows viene fornito con l'interprete Python, ma in altri sistemi operativi potrebbe essere necessario installarlo tramite il gestore pacchetti.

Gli scopi principali di IDLE sono:

  • Editor di testo multi-finestra con evidenziazione della sintassi, completamento automatico e rientro intelligente
  • Shell Python con evidenziazione della sintassi
  • Debugger integrato con stepping, punti di interruzione persistenti e visibilità dello stack delle chiamate
  • Indentazione automatica (utile per i principianti che apprendono il rientro di Python)
  • Salvare il programma Python come file .py ed eseguirli e modificarli successivamente in qualsiasi momento usando IDLE.

In IDLE, premi F5 o run Python Shell per lanciare un interprete. L'utilizzo di IDLE può essere un'esperienza di apprendimento migliore per i nuovi utenti perché il codice viene interpretato come l'utente scrive.

Nota che ci sono molte alternative, vedi ad esempio questa discussione o questo elenco .

Risoluzione dei problemi

  • finestre

    Se sei su Windows, il comando predefinito è python . Se si riceve un errore "'python' is not recognized" , la causa più probabile è che la posizione di Python non si trova nella variabile di ambiente PATH del sistema. È possibile accedervi facendo clic con il pulsante destro del mouse su "Risorse del computer" e selezionando "Proprietà" o spostandosi su "Sistema" tramite "Pannello di controllo". Fare clic su "Impostazioni di sistema avanzate" e quindi su "Variabili d'ambiente ...". Modifica la variabile PATH per includere la directory della tua installazione Python, così come la cartella Script (solitamente C:\Python27;C:\Python27\Scripts ). Ciò richiede privilegi amministrativi e potrebbe richiedere un riavvio.

    Quando si utilizzano più versioni di Python sulla stessa macchina, una possibile soluzione è rinominare uno dei file python.exe . Ad esempio, nominare una versione python27.exe potrebbe far diventare python27 il comando Python per quella versione.

    Puoi anche utilizzare Python Launcher per Windows, che è disponibile tramite il programma di installazione e viene fornito per impostazione predefinita. Permette di selezionare la versione di Python da eseguire usando py -[xy] invece di python[xy] . Puoi usare l'ultima versione di Python 2 eseguendo script con py -2 e l'ultima versione di Python 3 eseguendo script con py -3 .

  • Debian / Ubuntu / MacOS

    Questa sezione presuppone che la posizione dell'eseguibile python sia stata aggiunta alla variabile d'ambiente PATH .

    Se sei su Debian / Ubuntu / MacOS, apri il terminale e digita python per Python 2.xo python3 per Python 3.x.

    Digita which python per vedere quale interprete Python verrà usato.

  • Arch Linux

    Il predefinito Python su Arch Linux (e discendenti) è Python 3, quindi usa python o python3 per Python 3.xe python2 per Python 2.x.

  • Altri sistemi

    Python 3 è talvolta associato a python anziché a python3 . Per usare Python 2 su questi sistemi su cui è installato, puoi usare python2 .

Installazione di Python 2.7.xe 3.x

Nota : le seguenti istruzioni sono scritte per Python 2.7 (se non specificato): le istruzioni per Python 3.x sono simili.

FINESTRE

Innanzitutto, scarica l'ultima versione di Python 2.7 dal sito web ufficiale ( https://www.python.org/downloads/) . La versione è fornita come pacchetto MSI. Per installarlo manualmente, basta fare doppio clic sul file.

Di default, Python si installa in una directory:

 C:\Python27\
 

Attenzione: l'installazione non modifica automaticamente la variabile d'ambiente PATH.

Supponendo che la tua installazione Python sia in C: \ Python27, aggiungi questo al tuo PATH:

 C:\Python27\
 

Ora per verificare se l'installazione di Python è valida scrivi in ​​cmd:

 C:\Python27\
 

Python 2.xe 3.x Side-by-Side

Per installare e utilizzare sia Python 2.x che 3.x side-by-side su una macchina Windows:

  1. Installa Python 2.x utilizzando il programma di installazione MSI.

    • Assicurati che Python sia installato per tutti gli utenti.
    • Opzionale: aggiungi Python a PATH per rendere Python 2.x callable dalla riga di comando usando python .
  2. Installa Python 3.x utilizzando il rispettivo programma di installazione.

    • Di nuovo, assicurati che Python sia installato per tutti gli utenti.
    • Opzionale: aggiungi Python a PATH per rendere Python 3.x callable dalla riga di comando usando python . Ciò potrebbe ignorare le impostazioni del PATH Python 2.x, quindi ricontrolla il PATH e assicurati che sia configurato in base alle tue preferenze.
    • Assicurati di installare py launcher per tutti gli utenti.

Python 3 installerà il launcher Python che può essere usato per lanciare Python 2.xe Python 3.x in modo intercambiabile dalla riga di comando:

 C:\Python27\
 

Per utilizzare la versione corrispondente di pip per una specifica versione di Python, utilizzare:

 C:\Python27\
 

LINUX

Le ultime versioni di CentOS, Fedora, RedHat Enterprise (RHEL) e Ubuntu sono fornite con Python 2.7.

Per installare Python 2.7 su Linux manualmente, basta effettuare le seguenti operazioni nel terminale:

 C:\Python27\
 

Aggiungete anche il percorso di new python nella variabile d'ambiente PATH. Se new python è in /root/python-2.7.X allora esegui export PATH = $PATH:/root/python-2.7.X

Ora per verificare se l'installazione di Python è valida, scrivi nel terminale:

 C:\Python27\
 

Ubuntu (dalla sorgente)

Se hai bisogno di Python 3.6 puoi installarlo dal sorgente come mostrato di seguito (Ubuntu 16.10 e 17.04 hanno versione 3.6 nel repository universale). Di seguito i passaggi da seguire per Ubuntu 16.04 e versioni precedenti:

 C:\Python27\
 

Mac OS

Mentre parliamo, macOS viene installato con Python 2.7.10, ma questa versione è obsoleta e leggermente modificata dal normale Python.

La versione di Python fornita con OS X è ottima per l'apprendimento ma non va bene per lo sviluppo. La versione fornita con OS X potrebbe non essere aggiornata rispetto all'attuale versione ufficiale di Python, che è considerata la versione di produzione stabile. ( fonte )

Installa Homebrew :

 C:\Python27\
 

Installa Python 2.7:

 C:\Python27\
 

Per Python 3.x, usa invece il comando brew install python3 .

Installazione di moduli esterni tramite pip

pip è tuo amico quando hai bisogno di installare qualsiasi pacchetto dalla pletora di scelte disponibili nel python package index (PyPI). pip è già installato se usi Python 2> = 2.7.9 o Python 3> = 3.4 scaricato da python.org. Per i computer che eseguono Linux o un altro * nix con un gestore di pacchetti nativo, i pip devono spesso essere installati manualmente.

Nelle istanze con Python 2 e Python 3 installati, pip fa spesso riferimento a Python 2 e pip3 a Python 3. Utilizzando pip verranno installati solo pacchetti per Python 2 e pip3 installerà solo pacchetti per Python 3.

Trovare / installare un pacchetto

Cercare un pacchetto è semplice come digitare

$ pip search <query>
# Searches for packages whose name or summary contains <query>
 

Installare un pacchetto è semplice come digitare (in un terminale / prompt dei comandi, non nell'interprete Python)

$ pip search <query>
# Searches for packages whose name or summary contains <query>
 

dove xxx è il numero di versione del pacchetto che si desidera installare.

Quando il tuo server è dietro proxy, puoi installare il pacchetto usando il seguente comando:

$ pip search <query>
# Searches for packages whose name or summary contains <query>
 

Aggiornamento dei pacchetti installati

Quando vengono visualizzate nuove versioni dei pacchetti installati, non vengono installati automaticamente sul sistema. Per avere una panoramica di quali dei tuoi pacchetti installati sono diventati obsoleti, esegui:

$ pip search <query>
# Searches for packages whose name or summary contains <query>
 

Per aggiornare un pacchetto specifico utilizzare

$ pip search <query>
# Searches for packages whose name or summary contains <query>
 

L'aggiornamento di tutti i pacchetti obsoleti non è una funzionalità standard di pip .

Aggiornamento pip

È possibile aggiornare l'installazione del pip esistente utilizzando i seguenti comandi

  • Su Linux o macOS X:

    $ pip search <query>
    # Searches for packages whose name or summary contains <query>
     

    Potrebbe essere necessario utilizzare sudo con pip su alcuni sistemi Linux

  • Su Windows:

    $ pip search <query>
    # Searches for packages whose name or summary contains <query>
     

    o

    $ pip search <query>
    # Searches for packages whose name or summary contains <query>
     

Per maggiori informazioni riguardo pip leggi qui .

Funzione stringa - str () e repr ()

Esistono due funzioni che possono essere utilizzate per ottenere una rappresentazione leggibile di un oggetto.

repr(x) chiama x.__repr__() : una rappresentazione di x . eval solito converte il risultato di questa funzione nell'oggetto originale.

str(x) chiama x.__str__() : una stringa leggibile dall'uomo che descrive l'oggetto. Questo può escludere alcuni dettagli tecnici.


repr ()

Per molti tipi, questa funzione fa un tentativo di restituire una stringa che produce un oggetto con lo stesso valore quando viene passato a eval() . Altrimenti, la rappresentazione è una stringa racchiusa tra parentesi angolari che contiene il nome del tipo dell'oggetto insieme a informazioni aggiuntive. Questo spesso include il nome e l'indirizzo dell'oggetto.

str ()

Per le stringhe, restituisce la stringa stessa. La differenza tra questo e repr(object) è che str(object) non tenta sempre di restituire una stringa accettabile da eval() . Piuttosto, il suo obiettivo è restituire una stringa stampabile o 'leggibile dall'uomo'. Se non viene fornito alcun argomento, restituisce la stringa vuota, '' .


Esempio 1:

s = """w'o"w"""
repr(s) # Output: '\'w\\\'o"w\''  
str(s)  # Output: 'w\'o"w'
eval(str(s)) == s  # Gives a SyntaxError 
eval(repr(s)) == s # Output: True
 

Esempio 2:

s = """w'o"w"""
repr(s) # Output: '\'w\\\'o"w\''  
str(s)  # Output: 'w\'o"w'
eval(str(s)) == s  # Gives a SyntaxError 
eval(repr(s)) == s # Output: True
 

Quando scrivi un corso, puoi sovrascrivere questi metodi per fare quello che vuoi:

s = """w'o"w"""
repr(s) # Output: '\'w\\\'o"w\''  
str(s)  # Output: 'w\'o"w'
eval(str(s)) == s  # Gives a SyntaxError 
eval(repr(s)) == s # Output: True
 

Usando la classe sopra possiamo vedere i risultati:

s = """w'o"w"""
repr(s) # Output: '\'w\\\'o"w\''  
str(s)  # Output: 'w\'o"w'
eval(str(s)) == s  # Gives a SyntaxError 
eval(repr(s)) == s # Output: True
 

Input dell'utente

Input interattivo

Per ottenere input dall'utente, utilizzare la funzione di input ( nota : in Python 2.x, la funzione è chiamata raw_input , sebbene Python 2.x abbia una propria versione di input completamente diversa):

Python 2.x 2.3
name = raw_input("What is your name? ")
# Out: What is your name? _
 

Nota di sicurezza Non usare input() in Python2 - il testo inserito verrà valutato come se fosse un'espressione Python (equivalente a eval(input()) in Python3), che potrebbe facilmente diventare una vulnerabilità. Vedi questo articolo per ulteriori informazioni sui rischi dell'utilizzo di questa funzione.

Python 3.x 3.0
name = raw_input("What is your name? ")
# Out: What is your name? _
 

Il resto di questo esempio userà la sintassi di Python 3.

La funzione accetta un argomento stringa, che lo mostra come un prompt e restituisce una stringa. Il codice precedente fornisce un prompt, in attesa che l'utente inserisca.

name = raw_input("What is your name? ")
# Out: What is your name? _
 

Se l'utente digita "Bob" e gli hit entrano, il name della variabile verrà assegnato alla stringa "Bob" :

name = raw_input("What is your name? ")
# Out: What is your name? _
 

Si noti che l' input è sempre di tipo str , che è importante se si desidera che l'utente inserisca numeri. Pertanto, è necessario convertire lo str prima di provare ad usarlo come numero:

name = raw_input("What is your name? ")
# Out: What is your name? _
 

NB: Si consiglia di utilizzare try / except blocks per rilevare le eccezioni quando si gestiscono gli input dell'utente . Ad esempio, se il tuo codice vuole lanciare raw_input in un int , e ciò che l'utente scrive è invalicabile, solleva un'eccezione ValueError .

Stats

22687 Contributors: 210
Friday, August 4, 2017
Autorizzato sotto: CC-BY-SA

Non affiliato con Stack Overflow
Rip Tutorial: info@zzzprojects.com

Scarica eBook