Come configurare smartphone e PC. Portale informativo
  • casa
  • Programmi
  • linguaggio pitone. Python per l'apprendimento automatico

linguaggio pitone. Python per l'apprendimento automatico

Il programma è un insieme di algoritmi che garantiscono l'esecuzione delle azioni necessarie. Convenzionalmente, allo stesso modo, si può programmare una persona comune scrivendo comandi precisi per preparare, ad esempio, il tè. Se quest'ultima opzione utilizza il linguaggio naturale (russo, ucraino, inglese, coreano, ecc.), Per il computer sarà necessario un linguaggio di programmazione speciale. Python è uno di quelli. L'ambiente di programmazione tradurrà successivamente i comandi in e lo scopo della persona per cui è stato creato l'algoritmo sarà soddisfatto. Python ha una propria sintassi, che verrà discussa di seguito.

Storia della lingua

Lo sviluppo è iniziato negli anni '80 e si è concluso nel 1991. Il linguaggio Python è stato creato da Guido van Rossum. Sebbene il simbolo principale di "Python" sia il serpente, prende il nome dallo spettacolo comico americano.

Durante la creazione del linguaggio, lo sviluppatore ha utilizzato alcuni comandi presi in prestito da Pascal, C e C++ esistenti. Dopo che la prima versione ufficiale è andata online, un intero gruppo di programmatori si è unito per perfezionarla e migliorarla.

Uno dei fattori che ha permesso a Python di diventare piuttosto famoso è il design. È riconosciuto come uno dei migliori da molti specialisti di grande successo.

Caratteristiche di "Pitone"

Il linguaggio di programmazione Python per principianti è un ottimo insegnante. Ha una sintassi abbastanza semplice. Sarà facile capire il codice, perché non include molti elementi ausiliari e la struttura speciale del linguaggio ti insegnerà come indentare. Naturalmente, un programma ben progettato con pochi comandi sarà immediatamente comprensibile.

Molti sistemi di sintassi sono stati costruiti attorno alla programmazione orientata agli oggetti. Python non fa eccezione. Per cosa è nato esattamente? Faciliterà la formazione per i principianti, aiuterà a ricordare alcuni degli elementi dei dipendenti già qualificati.

Sintassi della lingua

Come già accennato, il codice è facile e semplice da leggere. "Python" ha comandi sequenziali che si distinguono per la chiarezza di esecuzione. In linea di massima, gli operatori utilizzati non sembreranno difficili nemmeno per i principianti. Questo è ciò che rende Python diverso. La sua sintassi è leggera e semplice.

Operatori tradizionali:

  • Quando si imposta una condizione, utilizzare la costruzione if-else. Se ci sono troppe righe di questo tipo, puoi inserire il comando elif.
  • La classe serve a capire la classe.
  • Uno degli operatori più semplici è pass. Non fa nulla, si adatta a blocchi vuoti.
  • I comandi di loop sono while e for.
  • Funzione, metodo e generatore sono definiti grazie alla def.

Oltre alle singole parole, il linguaggio di programmazione Python consente di utilizzare le espressioni come operatori. Utilizzando il concatenamento di stringhe, è possibile ridurre il numero di singoli comandi e parentesi. Vengono utilizzati anche i cosiddetti calcoli pigri, cioè quelli che vengono eseguiti solo quando la condizione lo richiede. Questi includono e e o.

Il processo di scrittura dei programmi

L'interprete funziona su un unico meccanismo: quando si scrive una riga (dopo la quale viene posizionato "Invio"), viene immediatamente eseguita e una persona può già vedere alcuni risultati. Questo è abbastanza utile e conveniente per i principianti o per coloro che vogliono testare un piccolo pezzo di codice. Negli ambienti compilati, dovresti prima scrivere l'intero programma, solo dopo eseguirlo e verificare la presenza di errori.

Il linguaggio di programmazione Python (per i principianti, come è già diventato chiaro, è l'ideale) nel sistema operativo Linux consente di lavorare direttamente nella console stessa. Dovresti scrivere il nome del codice "Python" in inglese sulla riga di comando. Non sarà difficile creare il tuo primo programma. Prima di tutto, va tenuto presente che qui è possibile utilizzare l'interprete come calcolatrice. Poiché gli specialisti giovani e alle prime armi spesso non sono amichevoli con la sintassi, l'algoritmo può essere scritto come segue:

Dopo ogni riga è necessario inserire "Invio". La risposta verrà visualizzata immediatamente dopo aver fatto clic su di essa.

Dati utilizzati da Python

Esistono diversi tipi di dati utilizzati dai computer (e dai linguaggi di programmazione) e questo è abbastanza ovvio. I numeri possono essere frazionari, interi, possono essere composti da molte cifre o essere piuttosto massicci a causa della parte frazionaria. Per rendere più facile per l'interprete lavorare con loro e per capire con cosa ha a che fare, dovrebbe essere impostato un tipo specifico. Inoltre, è necessario che i numeri si adattino alla cella di memoria assegnata.

I tipi di dati più comuni utilizzati dal linguaggio di programmazione Python sono:

  • Numero intero. Stiamo parlando di numeri interi che hanno valori sia negativi che positivi. Zero è incluso anche in questo tipo.
  • Affinché l'interprete capisca che sta lavorando con parti frazionarie, il tipo deve essere impostato su virgola mobile. Di norma, viene utilizzato nel caso di utilizzo di numeri con un punto variabile. Va ricordato che quando si scrive un programma, è necessario attenersi alla notazione "3.25" e non utilizzare la virgola "3.25".
  • In caso di aggiunta di stringhe, il linguaggio di programmazione Python consente di aggiungere il tipo di stringa. Spesso le parole o le frasi sono racchiuse in singole o

Svantaggi e vantaggi

Negli ultimi decenni, le persone sono state più interessate a come dedicare più tempo alla padronanza dei dati e meno tempo a farli elaborare dal computer. Una lingua su cui ci sono solo aspetti positivi è il codice più alto.

Non ci sono praticamente difetti in Python. L'unico grave inconveniente è la lentezza dell'esecuzione dell'algoritmo. Sì, se lo confronti con "C" o "Java", è, francamente, una tartaruga. Ciò è spiegato dal fatto che questo

Lo sviluppatore si è preso cura di aggiungere il meglio di Python. Pertanto, quando lo usi, noterai che ha assorbito le migliori caratteristiche di altri linguaggi di programmazione superiori.

Nel caso in cui l'idea implementata dall'interprete non sia impressionante, sarà possibile capirlo quasi immediatamente, dopo aver scritto diverse dozzine di righe. Se il programma è buono, la sezione critica può essere migliorata in qualsiasi momento.

Al giorno d'oggi, più di un gruppo di programmatori sta lavorando per migliorare Python, quindi non è un dato di fatto che il codice scritto in C++ sarà migliore di quello creato usando Python.

Con quale versione è meglio lavorare?

Ora due versioni di un tale sistema di sintassi come il linguaggio Python sono ampiamente utilizzate contemporaneamente. Per i principianti, la scelta tra loro sarà abbastanza difficile. Va notato che 3.x è ancora in fase di sviluppo (sebbene rilasciato alle masse), mentre 2.x è una versione completamente finalizzata. Molte persone consigliano di utilizzare 2.7.8, in quanto praticamente non ritarda e non si confonde. Non ci sono cambiamenti radicali nella versione 3.x, quindi in qualsiasi momento il tuo codice può essere trasferito nell'ambiente di programmazione con un aggiornamento. Per scaricare il programma richiesto, devi andare sul sito Web ufficiale, selezionare il tuo sistema operativo e attendere il completamento del download.

Python è un linguaggio di scripting popolare e potente con cui puoi fare quello che vuoi. Ad esempio, puoi eseguire la scansione e raccogliere dati da siti Web, creare reti e strumenti, eseguire calcoli, programmare per Raspberry Pi, sviluppare programmi di grafica e persino videogiochi. Puoi \\ scrivere programmi di sistema indipendenti dalla piattaforma in Python.

In questo articolo esamineremo le basi della programmazione in Python, cercheremo di coprire tutte le funzionalità di base necessarie per iniziare a utilizzare il linguaggio. Vedremo l'uso di classi e metodi per risolvere vari problemi. Si presume che tu abbia già familiarità con le basi e la sintassi del linguaggio.

Cos'è Python?

Non entrerò nella storia della creazione e dello sviluppo del linguaggio, puoi facilmente scoprirlo dal video che verrà allegato di seguito. È importante notare che Python è un linguaggio di scripting. Ciò significa che il tuo codice viene controllato per errori ed eseguito immediatamente senza ulteriori compilazioni o rielaborazioni. Questo approccio è anche chiamato interpretato.

Questo rallenta le prestazioni, ma è molto conveniente. C'è un interprete qui, in cui puoi inserire i comandi e vedere immediatamente il loro risultato. Questo lavoro interattivo è molto utile per l'apprendimento.

Lavorare nell'interprete

È molto facile avviare l'interprete Python su qualsiasi sistema operativo. Ad esempio, su Linux, è sufficiente digitare il comando python nel terminale:

Nel prompt dell'interprete che si apre, vediamo la versione di Python attualmente in uso. Al giorno d'oggi sono molto diffuse due versioni di Python 2 e Python 3. Sono entrambe popolari perché molti programmi e librerie sono state sviluppate sulla prima e la seconda ha più funzionalità. Pertanto, le distribuzioni includono entrambe le versioni. La seconda versione viene avviata per impostazione predefinita. Ma se hai bisogno della versione 3, devi eseguire:

È la terza versione che verrà considerata in questo articolo. Ora diamo un'occhiata alle caratteristiche principali di questo linguaggio.

Operazioni sulle stringhe

Le stringhe in Python sono immutabili; non puoi cambiare uno dei caratteri in una stringa. Qualsiasi modifica al contenuto richiede la creazione di una nuova copia. Apri un interprete e segui gli esempi seguenti per capire meglio cosa hai scritto:

1. Concatenazione di stringhe

str = "benvenuto" + "a Python"
stampa (str)

2. Moltiplicazione di stringhe

str = "Perso" * 2
stampa (str)

3. Combina con la trasformazione

Puoi concatenare una stringa con un numero o un booleano. Ma per questo è necessario utilizzare una trasformazione. C'è una funzione str() per questo:

str = "Questo è un numero di prova" + str (15)
stampa (str)

4. Cerca una sottostringa

Puoi trovare un carattere o una sottostringa usando il metodo find:

str = "Benvenuto nel sito"
stampa (str.find ("sito"))

Questo metodo visualizza la posizione della prima occorrenza della sottostringa del sito se viene trovata, se non viene trovato nulla, viene restituito il valore -1. La funzione inizia la ricerca dal primo carattere, ma puoi iniziare dall'ennesimo carattere, ad esempio 26:

str = "Benvenuto nel sito del sito"
print (str.find ("perso", 26))

In questo caso, la funzione restituirà -1 perché la stringa non è stata trovata.

5. Ottenere una sottostringa

Abbiamo ottenuto la posizione della sottostringa che stiamo cercando, e ora come ottenere la sottostringa stessa e cosa c'è dopo? Per fare ciò, usa questa sintassi [inizio: fine], specifica solo due numeri o solo il primo:

str = "Uno due tre"
stampa (str [: 2])
stampa (str)
stampa (str)
stampa (str [-1])

La prima riga stamperà la sottostringa dal primo al secondo carattere, il secondo - dal secondo alla fine. Notare che il conto alla rovescia inizia da zero. Per il conto alla rovescia, usa un numero negativo.

6. Sostituzione della sottostringa

Puoi sostituire parte di una stringa usando il metodo di sostituzione:

str = "Questo sito riguarda Linux"
str2 = str.replace ("Linux", "Windows")
stampa (str2)

Se ci sono molte occorrenze, solo la prima può essere sostituita:

str = "Questo è un sito Linux e sono iscritto a questo sito"
str2 = str.replace ("sito", "pagina", 1)
stampa (str2)

7. Cancellare le linee

Puoi rimuovere spazi bianchi extra con la funzione strip:

str = "Questo è un sito Web Linux"
stampa (striscia str.())

È anche possibile rimuovere spazi extra solo a destra di rstrip o solo a sinistra - lstrip.

8. Modifica del registro

Ci sono funzioni speciali per cambiare le maiuscole dei caratteri:

str = "Benvenuto in Lost"
stampa (str.superiore ())
stampa (str.inferiore ())

9. Conversione di stringhe

Esistono diverse funzioni per convertire una stringa in vari tipi numerici, queste sono int(), float(), long() e altre. La funzione int() converte in un intero e float() in un numero in virgola mobile:

str = "10"
str2 = "20"
stampa (str + str2)
print (int (str) + int (str2))

10. Lunghezza delle linee

È possibile utilizzare le funzioni min (), max (), len () per calcolare il numero di caratteri in una stringa:

str = "Benvenuto nel sito web di Lost"
stampa (min (str))
stampa (massimo (str))
stampa (len (str))

Il primo mostra la dimensione minima del carattere, il secondo mostra il massimo e il terzo mostra la lunghezza totale della stringa.

11. Passa sopra la linea

Puoi accedere a ciascun carattere della stringa separatamente con un ciclo for:

str = "Benvenuto nel sito"
per i nell'intervallo (len (str)):
stampa (str [i])

Per limitare il ciclo, abbiamo usato la funzione len(). Presta attenzione alla rientranza. La programmazione Python si basa su questo, non ci sono parentesi per organizzare i blocchi, solo il rientro.

Operazioni con i numeri

I numeri in Python sono abbastanza facili da dichiarare o utilizzare nei metodi. Puoi creare numeri interi o in virgola mobile:

numero1 = 15
numero2 = 3.14

1. Arrotondare i numeri

Puoi arrotondare un numero usando la funzione round, basta specificare quanti caratteri lasciare:

a = 15,5652645
stampa (rotondo (a, 2))

2. Generazione di numeri casuali

Puoi ottenere numeri casuali usando il modulo random:

importa casuale
stampa (casuale.casuale ())

Per impostazione predefinita, il numero viene generato nell'intervallo da 0,0 a 1,0. Ma puoi impostare il tuo intervallo:

importa casuale
numeri =
stampa (scelta casuale (numeri))

Operazioni di data e ora

Il linguaggio di programmazione Python ha un modulo DateTime che consente di eseguire varie operazioni su data e ora:

data e ora di importazione
cur_date = datetime.datetime.now ()
stampa (cur_date)
stampa (cur_date.year)
stampa (cur_date.day)
stampa (cur_date.weekday ())
stampa (cur_date.mese)
stampa (cur_date.time ())

L'esempio mostra come estrarre il valore desiderato da un oggetto. Puoi ottenere la differenza tra due oggetti:

data e ora di importazione
time1 = datetime.datetime.now ()
time2 = datetime.datetime.now ()
timediff = ora2 - ora1
stampa (timediff.microsecondi)

Puoi creare tu stesso oggetti data con un valore arbitrario:

time1 = datetime.datetime.now ()
time2 = datetime.timedelta (giorni = 3)
ora3 = ora1 + ora2
stampa (ora3.data ())

1. Formattazione di data e ora

Il metodo strftime consente di modificare il formato della data e dell'ora in base allo standard selezionato o al formato specificato. Ecco i simboli di formattazione di base:

  • % un- giorno della settimana, nome abbreviato;
  • % UN- giorno della settimana, nome completo;
  • % w- numero del giorno della settimana, da 0 a 6;
  • % D- giorno del mese;
  • % B- nome abbreviato del mese;
  • % B- nome completo del mese;
  • % m- numero del mese;
  • % Sì- numero dell'anno;
  • % H- ora del giorno in formato 24 ore;
  • % l- ora del giorno in formato 12 ore;
  • % P- Antimeridiane o pomeridiane;
  • % M- minuto;
  • % S- secondo.

data e ora di importazione
date1 = datetime.datetime.now ()
print (date1.strftime ("% d.% B% Y% I:% M% p"))

2. Crea data da stringa

Puoi usare la funzione strptime() per creare un oggetto data da una stringa:

data e ora di importazione
date1 = datetime.datetime.strptime ("2016-11-21", "% Y-% m-% d")
date2 = datetime.datetime (anno = 2015, mese = 11, giorno = 21)
stampa (data1);
stampa (data2);

Operazioni sul file system

La gestione dei file è molto semplice nel linguaggio di programmazione Python, è il miglior linguaggio per lavorare con i file. Ad ogni modo, possiamo dire che Python è il linguaggio più semplice.

1. Copiare i file

Per copiare i file, è necessario utilizzare le funzioni del modulo subutil:

importare la chiusura
nuovo_percorso = shutil.copy ("file1.txt", "file2.txt")

new_path = shutil.copy ("file1.txt", "file2.txt", follow_symlinks = False)

2. Spostamento di file

Lo spostamento dei file viene eseguito utilizzando la funzione di spostamento:

shutil.move ("file1.txt", "file3.txt")

La funzione di rinomina del modulo os ti consente di rinominare i file:

importare il sistema operativo
os.rename ("file1.txt", "file3.txt")

3. Leggere e scrivere file di testo

È possibile utilizzare le funzioni integrate per aprire file, leggere o scrivere dati su di essi:

fd = aperto ("file1.txt")
contenuto = fd.read()
stampa (contenuto)

Innanzitutto, è necessario aprire il file per utilizzare la funzione di apertura. Per leggere i dati da un file, utilizzare la funzione di lettura, il testo letto verrà salvato in una variabile. Puoi specificare il numero di byte da leggere:

fd = aperto ("file1.txt")
contenuto = fd.read (20)
stampa (contenuto)

Se il file è troppo grande, puoi dividerlo in righe ed eseguire l'elaborazione in questo modo:

contenuto = fd.readlines ()
stampa (contenuto)

Per scrivere dati su un file, devi prima aprirlo per la scrittura. Esistono due modalità operative: sovrascrivere e aggiungere alla fine del file. Modalità di registrazione:

fd = aperto ("file1.txt", "w")

E aggiungendo alla fine del file:

fd = aperto ("file1.txt", "a")
content = fd.write ("Nuovo contenuto")

4. Creazione di directory

Per creare una directory, usa la funzione mkdir dal modulo os:

importare il sistema operativo
os.mkdir ("./ nuova cartella")

5. Ottenere il tempo di creazione

È possibile utilizzare le funzioni getmtime (), getatime () e getctime () per ottenere l'ora dell'ultima modifica, dell'ultimo accesso e della creazione. Il risultato verrà visualizzato in formato Unix, quindi è necessario convertirlo in un modulo leggibile:

importare il sistema operativo
data e ora di importazione
tim = os.path.getctime ("./ file1.txt")
print (datetime.datetime.fromtimestamp (tim))

6. Elenco dei file

Con la funzione listdir(), puoi elencare i file in una cartella:

importare il sistema operativo
files = os.listdir (".")
stampa (file)

Il modulo glob può essere utilizzato per svolgere lo stesso compito:

importare globo
file = glob.glob ("*")
stampa (file)

7. Serializzazione di oggetti Python

importare sottaceti
fd = aperto ("miofile.pk", "wb")
pickle.dump (mydata, fd)

Quindi per ripristinare l'oggetto utilizzare:

importare sottaceti
fd = aperto ("miofile.pk", "rb")
mydata = pickle.load (fd)

8. Compressione di file

La libreria standard Python ti consente di lavorare con vari formati di archivio come zip, tar, gzip, bzip2. Per visualizzare il contenuto di un file utilizzare:

importa file zip
mio_zip = zipfile.ZipFile ("mio_file.zip", modalità = "r")
print (file.namelist ())

E per creare un archivio zip:

importa file zip
file = zipfile.ZipFile ("files.zip", "w")
file.write ("file1.txt")
file.chiudi ()

Puoi anche decomprimere l'archivio:

importa file zip
file = zipfile.ZipFile ("files.zip", "r")
file.extractall()
file.chiudi ()

Puoi aggiungere file all'archivio in questo modo:

importa file zip
file = zipfile.ZipFile ("files.zip", "a")
file.write ("file2.txt")
file.chiudi ()

9. Analisi di file CSV ed Exel

Utilizzando il modulo panda, puoi visualizzare e analizzare il contenuto delle tabelle CSV ed Exel. Per prima cosa devi installare il modulo usando pip:

sudo pip install panda

Quindi, per analizzare, digitare:

importare panda
data = pandas.read_csv ("file.csv)

Per impostazione predefinita, i panda utilizzano la prima colonna per le intestazioni di ogni riga. È possibile specificare la colonna per l'indice utilizzando il parametro index_col o specificare False se non necessario. Per scrivere modifiche su un file usa la funzione to_csv:

data.to_csv ("file.csv)

Il file Exel può essere analizzato allo stesso modo:

data = pd.read_excel ("file.xls", nomefoglio = "Foglio1")

Se devi aprire tutte le tabelle, usa:

data = pd.ExcelFile ("file.xls")

Quindi puoi riscrivere tutti i dati:

data.to_excel ("file.xls", foglio = "Foglio1")

Reti in Python

La programmazione in Python 3 spesso implica la creazione di reti. La libreria standard Python include funzionalità socket per l'accesso alla rete di basso livello. Ciò è necessario per supportare molti protocolli di rete.

presa di importazione
ospite = "192.168.1.5"
porta = 4040
my_sock = socket.create_connection ((host, porta))

Questo codice si connette alla porta 4040 sulla macchina 192.168.1.5. Quando il socket è aperto, puoi inviare e ricevere dati:

my_sock.sendall (b "Ciao mondo")

Dobbiamo scrivere il carattere b prima della stringa, perché abbiamo bisogno di trasferire i dati in modalità binaria. Se il post è troppo grande, puoi ripetere:

msg = b "Il messaggio più lungo va qui"
mesglen = len (msg)
totale = 0
mentre totale< msglen:
inviato = mio_calzino.send (msg)
totale = totale + inviato

Per ricevere i dati, devi anche aprire un socket, viene utilizzato solo il metodo my_sock_recv:

data_in = mio_calzino.recv (2000)

Qui indichiamo quanti dati devono essere ricevuti - 20.000, i dati non verranno trasferiti a una variabile fino a quando non saranno stati ricevuti 20.000 byte di dati. Se il messaggio è più grande, per riceverlo è necessario creare un ciclo:

buffer = bytearray (b "" * 2000)
my_sock.recv_into (buffer)

Se il buffer è vuoto, il messaggio ricevuto verrà scritto lì.

Lavorare con la posta

La libreria standard di Python ti consente di ricevere e inviare messaggi di posta elettronica.

1. Ricezione di posta dal server POP3

Usiamo un server POP per ricevere messaggi:

import getpass, poplib
pop_serv = poplib.POP3 ("192.168.1.5")
pop_serv.user ("mioutente")
pop_serv.pass_ (getpass.getpass ())

Il modulo getpass ti consente di recuperare in modo sicuro la password dell'utente in modo che non venga visualizzata sullo schermo. Se il server POP utilizza una connessione sicura, è necessario utilizzare la classe POP3_SSL. Se la connessione è andata a buon fine, puoi interagire con il server:

msg_list = pop_serv.list() # per elencare i messaggi
msg_count = pop_serv.msg_count ()

Per completare il lavoro utilizzare:

2. Ricezione di posta dal server IMAP

Per connettersi e lavorare con il server IMAP, viene utilizzato il modulo imaplib:

importa imaplib, getpass
mia_imap = imaplib.IMAP4 ("imap.server.com")
mio_imap.login ("mioutente", getpass.getpass ())

Se il tuo server IMAP utilizza una connessione sicura, devi utilizzare la classe IMAP4_SSL. Per ottenere un elenco di messaggi utilizzare:

data = my_imap.search (Nessuno, "TUTTI")

Quindi puoi scorrere l'elenco selezionato e leggere ogni messaggio:

msg = my_imap.fetch (email_id, "(RFC822)")

Ma non dimenticare di chiudere la connessione:

mia_imap.close ()
mia_imap.logout ()

3. Invio di posta

Per inviare la posta vengono utilizzati il ​​protocollo SMTP e il modulo smtplib:

import smtplib, getpass
mio_smtp = smtplib.SMTP (smtp.server.com ")
mio_smtp.login ("mioutente", getpass.getpass ())

Come prima, usa SMTP_SSL per una connessione sicura. Una volta stabilita la connessione, puoi inviare un messaggio:

from_addr = " [e-mail protetta]"
to_addr = " [e-mail protetta]"
msg = "Da: [e-mail protetta]\ r \ nA: [e-mail protetta]\ r \ n \ r \ nCiao, questo è un messaggio di prova "
my_smtp.sendmail (from_addr, to_addr, msg)

Lavorare con le pagine web

La programmazione Python viene spesso utilizzata per scrivere vari script per lavorare con il web.

1. Scansione web

Il modulo urllib ti permette di fare richieste alle pagine web in vari modi. La classe di richiesta viene utilizzata per inviare una richiesta regolare. Ad esempio, eseguiamo una normale richiesta di pagina:

import urllib.request
mio_web = urllib.request.urlopen ("https://www.google.com")
stampa (mio_web.leggi ())

2. Utilizzo del metodo POST

Se devi inviare un modulo web, devi utilizzare non una richiesta GET, ma un POST:

import urllib.request
mydata = b "I tuoi dati vanno qui"
my_req = urllib.request.Request ("http: // localhost", data = mydata, method = "POST")
my_form = urllib.request.urlopen (my_req)
stampa (mio_modulo.stato)

3. Creazione di un server web

Usando la classe Socket, puoi accettare connessioni in entrata, il che significa che puoi creare un server web con capacità minime:

presa di importazione
ospite = ""
porta = 4242
mio_server = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
mio_server.bind ((host, porta))
mio_server.ascolta (1)

Quando viene creato il server. puoi iniziare ad accettare connessioni:

addr = mio_server.accetta ()
print ("Connesso dall'host", addr)
data = conn.recv (1024)

E non dimenticare di chiudere la connessione:

Multithreading

Come la maggior parte dei linguaggi moderni, Python consente di eseguire più thread paralleli, il che può essere utile se è necessario eseguire calcoli complessi. La libreria standard ha un modulo di threading che contiene la classe Therad:

importare filettatura
def print_message():
print ("Il messaggio è stato stampato da un thread diverso")
my_thread = threading.Thread (target = print_message)
mio_thread.start ()

Se la funzione impiega troppo tempo, puoi controllare se tutto è in ordine con la funzione is_alive(). A volte i tuoi thread devono accedere a risorse globali. Per questo, vengono utilizzati i blocchi:

importare filettatura
numero = 1
my_lock = threading.Lock ()
def my_func():
numero globale, my_lock
my_lock.acquire ()
somma = numero + 1
stampa (somma)
my_lock.release ()
my_thread = threading.Thread (target = my_func)
mio_thread.start ()

conclusioni

In questo articolo, abbiamo trattato le basi della programmazione Python. Ora conosci la maggior parte delle funzioni di uso comune e puoi applicarle nei tuoi piccoli programmi. Amerai la programmazione Python 3, è molto semplice! Se hai domande, chiedi nei commenti!

Per concludere questo articolo con un'ottima lezione su Python:

Vuoi entrare nel mondo della programmazione e scrivere velocemente i tuoi primi programmi? Oppure sogni di imparare nuove lingue ma non sai da dove cominciare? Dai un'occhiata ai corsi sulle basi della programmazione Python. Continua a leggere per i dettagli sul perché questa particolare lingua è consigliata ai principianti e quali programmi puoi creare con essa.

Fondamenti di Python per programmatori principianti

Python è un potente linguaggio di programmazione orientato agli oggetti di alto livello creato da Guido van Rossum. Ha una sintassi facile da usare, che lo rende un linguaggio ideale per coloro che cercano di imparare a programmare per la prima volta. Per continuare la tua conoscenza della lingua, puoi leggere il libro di Dmitry Zlatopolsky "Python - nozioni di base sulla programmazione". Ma inizieremo con le basi. C'è molta letteratura in questo campo. Un'altra opzione sono i libri di Harry Percival “Python. Sviluppo guidato dai test”. Racconta la lingua da un punto di vista pratico.

Usare la lingua nella pratica

Quindi, cosa è scritto in Python o "Python", come viene anche chiamato tra i programmatori, e perché impararlo? Python è un linguaggio di uso generale. Viene utilizzato per scrivere applicazioni Web utilizzando vari framework, utilità di sistema e applicazioni per automatizzare varie azioni. Ora bastano i corsi sulle basi della programmazione in Python per provare ad imparare il linguaggio da soli.

Questa potrebbe essere la spina dorsale di una nuova professione, in quanto dispone di un'ampia gamma di applicazioni dallo sviluppo web, all'informatica scientifica e matematica, alle interfacce utente grafiche desktop. Funziona bene anche per la prototipazione. Cioè, prima viene creato un prototipo in Python, quindi il concetto può essere trasferito a linguaggi di programmazione più veloci e compilati. Usando questo linguaggio, puoi creare applicazioni desktop con un'interfaccia grafica e scrivere giochi, per i quali esiste una libreria speciale. Le basi degli algoritmi e della programmazione in Python sono adatte alla creazione di applicazioni per dispositivi mobili.

Perché imparare Python?

Python utilizza anche una sintassi molto semplice e concisa e una digitazione dinamica. La conoscenza delle basi degli algoritmi e della programmazione in Python permette di creare velocemente un programma ed eseguirlo. Se hai bisogno di un linguaggio per creare rapidamente applicazioni e script in più aree, avrai difficoltà a trovare un'alternativa migliore di Python. Ha una serie di ovvi vantaggi rispetto ad altri linguaggi di programmazione:

  • uso universale: diversi tipi di applicazioni possono essere scritte in questa lingua, quindi, insieme al suo sviluppo, ci sono ampie opportunità per l'uso di questa lingua;
  • semplicità: il linguaggio è stato originariamente sviluppato per semplificare il lavoro di una persona con esso;
  • popolarità tra i programmatori e domanda nel mercato del lavoro: Python è ampiamente utilizzato in vari progetti;
  • un gran numero di librerie disponibili ampliano le capacità del linguaggio e lo rendono ancora più universale;
  • multipiattaforma: una volta scritto, il programma funzionerà su qualsiasi piattaforma in cui sia presente un interprete linguistico;
  • uno degli importanti vantaggi del linguaggio è la sua documentazione di alta qualità.

Python è anche uno dei più antichi linguaggi di sviluppo web creato da Guido van Rossum presso il National Research Institute of Mathematics and Computer Science nei Paesi Bassi nei primi anni '90. Il linguaggio è pesantemente preso in prestito da C++, C e altri linguaggi di scripting. Usa parole chiave inglesi, che costituiscono molta programmazione Python. Se li padroneggi, puoi presumere che per la maggior parte hai già imparato la lingua. Questo richiederà del tempo e dovrai comprendere i concetti di base prima di iniziare. Allora cominciamo a conoscerli.

Vantaggi di Python

Uno dei principali vantaggi della programmazione Python è la sua natura interpretativa. Ciò significa che il codice del programma non viene compilato in un file eseguibile, ma viene eseguito dall'interprete ogni volta che viene avviato dall'utente. Pertanto, per eseguire il programma, è necessario averlo sul computer in cui verranno creati i programmi. L'interprete e la libreria standard sono disponibili in formato binario o sorgente dal sito Web di Python e possono funzionare senza problemi su tutti i principali sistemi operativi.

Quindi, i principali vantaggi di Python includono:

  • Natura dell'interpretazione: la lingua viene elaborata da un interprete in fase di esecuzione, come PHP o PERL, quindi non è necessario compilare il programma prima dell'esecuzione.
  • Interattività: puoi interagire direttamente con l'interprete quando scrivi il tuo programma.
  • Ideale per i principianti: per i programmatori principianti.
  • Python è un'ottima scelta in quanto supporta lo sviluppo di applicazioni, dai giochi ai browser all'elaborazione di testi.

    Come installare ed eseguire l'interprete

    Per iniziare a scrivere in Python, devi scaricare e installare il suo interprete sul sito ufficiale della lingua, scegliendo la versione per il tuo sistema operativo. Vale la pena notare che ci sono due rami della lingua: il secondo e il terzo. È meglio iniziare ad apprendere le basi di Python 3 se non hai ancora installato una versione diversa. Durante l'installazione su Windows, assicurati di prestare attenzione se l'opzione Aggiungi Python al percorso e l'utilità Pip sono abilitate. Una volta installato, puoi eseguirlo. Per fare ciò, sulla riga di comando, è necessario inserire: "python" e verrà avviato. Nella finestra vengono visualizzate tre parentesi angolari, a indicare che sei nell'interprete. Questo linguaggio di programmazione è anche liberamente ridistribuibile e puoi trovare suggerimenti, strumenti di terze parti, programmi, moduli e documentazione aggiuntiva per esso.

    Parole chiave in Python

    Nell'interprete è possibile eseguire azioni nella lingua in modo interattivo. Ogni azione viene eseguita immediatamente dopo aver premuto Invio. Puoi usarlo come una calcolatrice avanzata. Ma scrivere un programma di grandi dimensioni nell'interprete richiede troppo tempo. Pertanto, ha senso utilizzare editor di testo. Il file di testo finito può quindi essere eseguito dall'interprete. Una delle basi di Python è che tutti i blocchi in esso contenuti sono rientrati, quindi è necessario indentare per eseguire il blocco ed eliminarlo. L'interprete può essere facilmente esteso con nuovi tipi di dati o funzioni in C++ o C. Il linguaggio di programmazione Python funge da estensione per applicazioni personalizzate. Ciò che rende questo linguaggio così facile da imparare è il fatto che utilizza parole chiave inglesi anziché segni di punteggiatura e ha meno costrutti sintattici rispetto ad altri linguaggi di programmazione.

    Iniziare con Python

    Prima di iniziare fuori dall'interprete, per creare un programma, è necessario aprire un editor di testo e creare un file vuoto con codifica utf-8 e impostare l'estensione "py". È meglio usare editor di codice speciali per i programmatori per questo scopo. Nella prima riga è necessario indicare la codifica. Le righe che iniziano con un segno # sono considerate commenti e non vengono eseguite. Python è tipizzato in modo implicito e dinamico, quindi non è necessario dichiarare variabili. I tipi vengono imposti e le variabili fanno anche distinzione tra maiuscole e minuscole, quindi var e VAR sono trattati come due variabili separate.Se vuoi sapere come funziona un oggetto, devi solo inserire quanto segue: "help (oggetto)". Puoi anche usare il comando dir (object) per scoprire tutti i metodi di una particolare opzione e puoi usare l'oggetto __ doc__ per scoprire la sua docstring.

    Come eseguire un programma scritto

    È inoltre necessario eseguire il programma scritto sulla riga di comando. Per fare ciò è necessario scrivere il nome dell'interprete e, separato da uno spazio, il nome del file con il programma scritto. Quando si avvia il programma, è necessario specificare il percorso completo del file. Questo non è sempre facile, poiché il percorso può essere molto lungo, quindi a volte è più facile cambiare la directory corrente sulla riga di comando e avviare l'interprete lì. Per fare ciò, vai nella directory desiderata, tieni premuto il tasto Maiusc, fai clic con il tasto destro sulla directory e seleziona l'opzione "apri finestra di comando" nel menu che si apre. Quindi la riga di comando verrà avviata in questa directory. Successivamente, nella finestra della console, è necessario inserire il nome dell'interprete e, separato da uno spazio, il nome del file in esso contenuto.

    Sintassi della lingua

    Le basi della programmazione usando Python come esempio non sono molto diverse da altre lingue, ma le variabili hanno un significato leggermente diverso. Python non ha caratteri necessari per completare le istruzioni. Tutti i blocchi sono rientrati, quindi devi tornare indietro per eseguire il blocco e rimuoverlo. Per i commenti su più righe, è necessario utilizzare righe su più righe. I valori vengono assegnati utilizzando il segno "=" e il test di uguaglianza viene eseguito con due di essi "==". Puoi aumentare o diminuire i valori utilizzando gli operatori = o - = con la somma a destra. Questo può funzionare con stringhe e altri tipi di dati. Puoi anche utilizzare più variabili su una riga.

    Tipi di dati in Python

    Ora diamo un'occhiata ai tipi di dati. Python si basa su strutture dati: dict, tuple ed elenchi. I kit si trovano nella libreria dei kit, disponibile in tutte le versioni di Python. Gli elenchi sono come array unidimensionali, sebbene sia possibile avere anche elenchi di altri elenchi. I dizionari sono essenzialmente array associativi o tabelle hash. Le tuple sono array unidimensionali. Ora, gli array basati su Python possono essere di qualsiasi tipo e ypes è sempre zero. I numeri negativi iniziano dalla fine all'inizio e -1 è l'ultimo elemento. Le variabili possono anche puntare a funzioni.

    Stringhe in Python

    Le stringhe Python possono utilizzare virgolette singole o doppie e puoi utilizzare virgolette di un tipo in una stringa utilizzando un tipo diverso. Le stringhe multilinea sono racchiuse tra virgolette singole o triple. Per riempire le stringhe con i valori, puoi usare l'operatore modulo (%) seguito da una tupla. Ogni% viene sostituito con un elemento tupla da sinistra a destra e puoi anche utilizzare le sostituzioni del dizionario. Le istruzioni di controllo del flusso Python sono "while", "for" e "if". Per la ramificazione, è necessario utilizzare "if". Usa "for" per enumerare attraverso un elenco. Usa un intervallo per ottenere un elenco di numeri.

    Funzioni in Python

    La parola chiave def viene utilizzata per dichiarare le funzioni. L'associazione di un altro oggetto a una variabile rimuove quello vecchio e sostituisce i tipi immutabili. Gli argomenti facoltativi possono essere specificati nella dichiarazione della funzione dopo gli argomenti richiesti, assegnando loro i valori predefiniti. Nel caso di argomenti denominati, al nome dell'argomento viene assegnato un valore. Le funzioni possono restituire una tupla e puoi restituire in modo efficiente più valori utilizzando l'unboxing della tupla. I parametri vengono passati tramite riferimento, ma tuple, int, stringhe e altri tipi immutabili sono immutabili perché viene passata solo la posizione di memoria dell'elemento.

    Hai appena iniziato a familiarizzare con la lingua, quindi non aver paura degli errori e fai riferimento alle risorse disponibili per continuare ad apprendere questo interessante e utile linguaggio di programmazione.

    Programmazione Python

    Parte 1. Caratteristiche del linguaggio e nozioni di base sulla sintassi

    Serie di contenuti:

    Dovresti imparare Python?

    Python è uno dei linguaggi di programmazione moderni più popolari. È adatto a una varietà di attività e offre le stesse funzionalità di altri linguaggi di programmazione: dinamismo, supporto OOP e multipiattaforma. Lo sviluppo di Python è stato avviato da Guido Van Rossum a metà degli anni '90, quindi ormai è stato possibile sbarazzarsi delle malattie "infantile" standard, sviluppare in modo significativo gli aspetti migliori del linguaggio e attirare molti programmatori che utilizzano Python per implementare i loro progetti.

    Molti programmatori ritengono che sia necessario imparare solo linguaggi di programmazione "classici" come Java o C++, poiché altri linguaggi non sono ancora in grado di fornire le stesse capacità. Di recente, tuttavia, è sorta la convinzione che sia desiderabile che un programmatore conosca più di una lingua, poiché ciò amplia i suoi orizzonti, permettendogli di risolvere compiti in modo più creativo e aumentare la sua competitività nel mercato del lavoro.

    Imparare a perfezionare due linguaggi come Java e C++ è difficile e richiede tempo; inoltre, molti aspetti di queste lingue si contraddicono a vicenda. Allo stesso tempo, Python è l'ideale per il ruolo di una seconda lingua, poiché viene immediatamente assimilato grazie alla conoscenza già esistente in OOP e al fatto che le sue capacità non sono in conflitto, ma integrano l'esperienza acquisita lavorando con un'altra programmazione linguaggio.

    Se un programmatore sta appena iniziando la sua strada nel campo dello sviluppo software, allora Python sarà il linguaggio di programmazione "introduttivo" ideale. Grazie alla sua brevità, ti consentirà di padroneggiare rapidamente la sintassi del linguaggio e l'assenza di "eredità" sotto forma di assiomi che si sono formati nel corso degli anni ti aiuterà a padroneggiare rapidamente l'OOP. A causa di questi fattori, la curva di apprendimento di Python sarà piuttosto breve e il programmatore sarà in grado di passare da casi di studio a progetti commerciali.

    Pertanto, che il lettore di questo articolo sia un programmatore esperto o un principiante nel campo dello sviluppo software, la risposta alla domanda, che è anche il titolo di questa sezione, dovrebbe essere un "sì" convincente.

    Questa serie di articoli è progettata per aiutarti a superare con successo la curva di apprendimento fornendo informazioni coerentemente dai principi più basilari della lingua alle sue capacità avanzate in termini di integrazione con altre tecnologie. Il primo articolo tratterà le funzionalità di base e la sintassi di Python. In futuro, esamineremo aspetti più complessi del lavoro con questo linguaggio popolare, in particolare la programmazione orientata agli oggetti in Python.

    Architettura Python

    Qualsiasi linguaggio, non importa per la programmazione o la comunicazione, è costituito da almeno due parti: vocabolario e sintassi. Il linguaggio Python è organizzato allo stesso modo, fornendo una sintassi per formare espressioni che costituiscono programmi eseguibili e un dizionario, un insieme di funzionalità sotto forma di libreria standard e plug-in.

    Come accennato, la sintassi di Python è abbastanza concisa, soprattutto se confrontata con Java o C++. Da un lato, questo è positivo, perché più semplice è la sintassi, più facile è impararla e meno errori si possono commettere durante l'utilizzo. Tuttavia, tali lingue hanno uno svantaggio: con il loro aiuto puoi trasmettere le informazioni più semplici e non puoi esprimere strutture complesse.

    Questo non si applica a Python, poiché è un linguaggio semplice ma semplificato. Il fatto è che Python è un linguaggio con un livello di astrazione superiore, superiore, ad esempio, a Java e C++, e consente di trasferire la stessa quantità di informazioni in una quantità minore di codice sorgente.

    Inoltre, Python è un linguaggio generico, quindi può essere utilizzato in quasi tutte le aree di sviluppo software (standalone, client-server, applicazioni Web) e in qualsiasi area disciplinare. Inoltre, Python si integra perfettamente con i componenti esistenti, consentendo a Python di essere incorporato nelle applicazioni esistenti.

    Un altro componente del successo di Python sono i suoi plugin, sia standard che specifici. I plugin standard Python sono funzionalità ben progettate e collaudate per risolvere i problemi che sorgono in ogni progetto di sviluppo software, elaborare stringhe e testi, interagire con il sistema operativo, supportare applicazioni web. Questi moduli sono anche scritti in Python, quindi hanno la sua proprietà più importante: multipiattaforma, che consente di trasferire in modo indolore e rapido progetti da un sistema operativo a un altro.

    Se la funzionalità richiesta non è nella libreria Python standard, puoi creare il tuo modulo plug-in per un successivo riutilizzo. Vale la pena notare che i plugin Python possono essere creati non solo in Python stesso, ma anche utilizzando altri linguaggi di programmazione. In questo caso, diventa possibile implementare in modo più efficiente attività ad alta intensità di risorse, ad esempio l'elaborazione scientifica complessa, ma il vantaggio della multipiattaforma si perde se il linguaggio plug-in non è esso stesso multipiattaforma, come Python.

    Runtime Python

    Come sai, tutti i linguaggi di programmazione multipiattaforma sono costruiti sullo stesso modello: sono un codice sorgente veramente portabile e un ambiente runtime, che non è portabile ed è specifico della piattaforma. Questo runtime di solito include un interprete che esegue il codice sorgente e le varie utilità necessarie per mantenere l'applicazione: un debugger, un reverse assembler e così via.

    Il runtime Java include anche un compilatore perché il codice sorgente deve essere compilato in bytecode per la macchina virtuale Java. Il runtime Python include solo un interprete, che è anche un compilatore, ma compila il codice sorgente Python direttamente nel codice macchina della piattaforma di destinazione.

    Esistono attualmente tre implementazioni runtime note per Python: CPython, Jython e Python.NET. Come suggerisce il nome, il primo framework è implementato in C, il secondo in Java e l'ultimo nella piattaforma .NET.

    Il runtime CPython di solito si chiama semplicemente Python e quando si parla di Python, questa è l'implementazione a cui si fa più spesso riferimento. Questa implementazione è costituita da un interprete e plug-in scritti in C e può essere utilizzata su qualsiasi piattaforma per la quale è disponibile un compilatore standard C. Inoltre, esistono già versioni compilate del runtime per vari sistemi operativi, comprese varie versioni di Windows OC e varie distribuzioni Linux. In questo e nei successivi articoli verrà preso in considerazione CPython, se non diversamente specificato separatamente.

    Il runtime Jython è un'implementazione Python per lavorare con Java Virtual Machine (JVM). È supportata qualsiasi versione JVM, a partire dalla versione 1.2.2 (la versione Java attuale è 1.6). Jython richiede una macchina Java installata (Java runtime) e una certa conoscenza del linguaggio di programmazione Java. Non è necessario essere in grado di scrivere codice sorgente in Java, ma dovrai occuparti di file JAR e applet Java, nonché della documentazione in formato JavaDOC.

    Quale versione dell'ambiente scegliere dipende esclusivamente dalle preferenze del programmatore; in generale, si consiglia di mantenere sia CPython che Jython sul computer, poiché non sono in conflitto tra loro, ma si completano a vicenda. CPython è più veloce perché non c'è JVM middleware; inoltre, le versioni aggiornate di Python vengono prima rilasciate come ambiente CPython. Tuttavia, Jython può utilizzare qualsiasi classe Java come estensione ed essere eseguito su qualsiasi piattaforma per la quale esiste un'implementazione JVM.

    Entrambi gli ambienti runtime sono rilasciati con una licenza compatibile con la nota licenza GPL, quindi possono essere utilizzati per sviluppare sia software commerciale che libero o gratuito. La maggior parte dei plugin Python sono anche concessi in licenza GPL e possono essere utilizzati liberamente in qualsiasi progetto, ma esistono estensioni commerciali o estensioni con licenze più rigide. Pertanto, quando si utilizza Python in un progetto commerciale, è necessario essere consapevoli delle restrizioni sulle licenze dei plug-in.

    Iniziare con Python

    Prima di iniziare a utilizzare Python, è necessario installare il suo ambiente di runtime: in questo articolo è CPython e, di conseguenza, l'interprete Python. Esistono vari metodi di installazione: gli utenti avanzati possono compilare autonomamente Python dal suo codice sorgente pubblico, i binari precompilati per uno specifico sistema operativo possono anche essere scaricati da www.python.org e, infine, molte distribuzioni Linux sono dotate di un interprete Python preinstallato . Questo articolo usa la versione Windows di Python 2.x, ma gli esempi forniti possono essere eseguiti su qualsiasi versione di Python.

    Dopo che il programma di installazione ha distribuito i binari Python nella directory specificata, è necessario controllare i valori delle seguenti variabili di sistema:

    • SENTIERO. Questa variabile deve contenere il percorso della directory in cui è installato Python in modo che il sistema operativo possa trovarlo.
    • PYTHONHOME. Questa variabile dovrebbe contenere solo il percorso della directory in cui è installato Python. Questa directory dovrebbe contenere anche una sottodirectory lib che cercherà i moduli Python standard.
    • PYTHONPATH. Variabile con un elenco di directory contenenti moduli di estensione che si collegheranno a Python (gli elementi dell'elenco devono essere separati da un separatore di sistema).
    • PYTHONSTARTUP. Una variabile facoltativa che specifica il percorso dello script Python da eseguire ogni volta che viene avviata una sessione dell'interprete Python interattivo.

    La riga di comando per lavorare con l'interprete ha la seguente struttura.

    PYTHONHOME \ python (opzioni) [-с comando | file di script | -] (argomenti)

    Modalità interattiva Python

    Se si avvia l'interprete senza specificare un comando o un file di script, verrà avviato in modalità interattiva. In questa modalità, viene lanciata una speciale shell Python, nella quale possono essere inseriti singoli comandi o espressioni, e il loro valore verrà immediatamente valutato. Questo è molto comodo quando si impara Python, poiché è possibile verificare immediatamente la correttezza dell'una o dell'altra costruzione.

    Il valore dell'espressione valutata viene memorizzato in una variabile speciale denominata Single Underscore (_) in modo che possa essere utilizzato nelle espressioni successive. Puoi terminare una sessione interattiva premendo Ctrl – Z su Windows o Ctrl – D su Linux.

    Le opzioni sono valori stringa facoltativi che possono modificare il comportamento dell'interprete durante una sessione; il loro significato sarà discusso in questo e nei successivi articoli. Le opzioni sono seguite da un singolo comando che l'interprete deve eseguire o dal percorso del file che contiene lo script da eseguire. Vale la pena notare che un comando può essere composto da più espressioni, separate da punto e virgola, e deve essere racchiuso tra virgolette affinché il sistema operativo possa passarlo correttamente all'interprete. Argomenti: quei parametri che vengono passati per un'ulteriore elaborazione allo script eseguibile; vengono passati al programma come stringhe e separati da spazi.

    Per verificare che Python sia installato e funzioni correttamente, puoi eseguire i seguenti comandi:

    c: \> python- v
    c: \> python –c “ora di importazione; stampa ora.asctime () "

    L'opzione –v visualizza la versione dell'implementazione Python in uso ed esce, mentre il secondo comando stampa l'ora di sistema sullo schermo.

    Puoi scrivere script Python in qualsiasi editor di testo, poiché sono normali file di testo, ma ci sono anche ambienti di sviluppo speciali progettati per funzionare con Python.

    Nozioni di base sulla sintassi di Python

    Gli script sorgenti Python sono composti dai cosiddetti linee logiche, ciascuno dei quali a sua volta costituito da linee fisiche... Il simbolo # viene utilizzato per indicare i commenti. L'interprete ignora i commenti e le righe vuote.

    Quello che segue è un aspetto molto importante che può sembrare strano ai programmatori che imparano Python come secondo linguaggio di programmazione. Il fatto è che in Python non esiste alcun simbolo che sarebbe responsabile della separazione delle espressioni tra loro nel codice sorgente, come, ad esempio, il punto e virgola (;) in C++ o Java. Il punto e virgola consente di separare più istruzioni se si trovano sulla stessa riga fisica. Inoltre, non esiste un costrutto come le parentesi graffe (), che consente di combinare un gruppo di istruzioni in un singolo blocco.

    Le righe fisiche sono separate dal carattere di fine riga stesso, ma se l'espressione è troppo lunga per una riga, le due righe fisiche possono essere unite in un'unica riga logica. Per fare ciò, devi inserire un carattere barra rovesciata (\) alla fine della prima riga, quindi la riga successiva verrà interpretata dall'interprete come una continuazione della prima, ma non puoi avere altri caratteri nella prima riga dopo il carattere \, ad esempio, un commento con #. Viene utilizzato solo il rientro per evidenziare i blocchi di codice. Le righe logiche ugualmente rientrate formano un blocco e il blocco termina quando viene visualizzata una riga logica rientrata più piccola. Questo è il motivo per cui la prima riga in uno script Python non dovrebbe essere rientrata. Imparare queste semplici regole ti aiuterà a evitare la maggior parte degli errori associati all'apprendimento di una nuova lingua.

    Non ci sono altre differenze radicali rispetto ad altri linguaggi di programmazione nella sintassi Python. Esiste un set standard di operatori e parole chiave, molti dei quali sono già familiari ai programmatori e quelli specifici di Python saranno trattati in questo e nei successivi articoli. Vengono utilizzate anche le regole standard per specificare identificatori di variabili, metodi e classi: il nome deve iniziare con un carattere di sottolineatura o comunque con un carattere latino e non può contenere i simboli @, $,%. Inoltre, un solo carattere di sottolineatura non può essere utilizzato come identificatore (vedi nota a piè di pagina sulla modalità interattiva).

    Tipi di dati usati in Python

    Anche i tipi di dati utilizzati in Python sono gli stessi di altri linguaggi: tipi di dati interi e reali; inoltre, è supportato un tipo di dati complesso, con una parte reale e una immaginaria (un esempio di tale numero è 1.5J o 2j, dove J è la radice quadrata di -1). Python supporta le stringhe che possono essere racchiuse tra virgolette singole, doppie o triple e le stringhe, come Java, sono oggetti immutabili, ad es. non possono cambiare il loro valore dopo la creazione.

    Esiste anche un tipo di dati booleano in Python con due valori: True e False. Tuttavia, le versioni precedenti di Python non avevano questo tipo di dati e, inoltre, qualsiasi tipo di dati poteva essere convertito al valore booleano True o False. Tutti i numeri diversi da zero e le stringhe o raccolte di dati non vuote sono stati trattati come Veri, mentre i valori vuoti e zero sono stati trattati come Falsi. Questa caratteristica è stata preservata nelle nuove versioni di Python, tuttavia, per aumentare la leggibilità del codice, si consiglia di utilizzare il tipo bool per le variabili booleane. Allo stesso tempo, se hai bisogno di mantenere la compatibilità con le versioni precedenti di Python, allora dovresti usare 1 (True) o 0 (False) come booleani.

    Funzionalità per lavorare con i set di dati

    Python definisce tre tipi di raccolte per l'archiviazione di set di dati:

    • tupla;
    • lista (lista);
    • dizionario (dizionario).

    Una tupla è una sequenza di dati immutabile e ordinata. Può contenere elementi di vario tipo, come altre tuple. Una tupla è definita tra parentesi e i suoi elementi sono separati da virgole. La speciale funzione integrata tuple() consente di creare tuple da una determinata sequenza di dati.

    Un elenco è una sequenza ordinata e mutabile di elementi. Anche gli elementi dell'elenco sono separati da virgole, ma sono specificati tra parentesi quadre. La funzione list() viene proposta per creare liste.

    Un dizionario è una tabella hash che memorizza un elemento insieme al suo identificatore di chiave. Anche l'accesso successivo agli elementi viene eseguito tramite chiave, quindi l'unità di archiviazione nel dizionario è una coppia oggetto-chiave e il suo oggetto valore associato. Un dizionario è una raccolta mutabile, ma non ordinata, quindi l'ordine degli elementi in un dizionario può cambiare nel tempo. Un dizionario è specificato tra parentesi graffe, la chiave è separata dal valore da due punti e le coppie chiave/valore stesse sono separate da virgole. La funzione dict() è disponibile per creare dizionari.

    Il Listato 1 mostra esempi delle varie raccolte disponibili in Python.

    Listato 1. Tipi di raccolta disponibili in Python
    ('w', 'o', 'r', 'l', 'd') # una tupla di cinque elementi (2.62,) # una tupla di un elemento [“test”, "me"] # una lista di due elementi # lista vuota (5: 'a', 6: 'b', 7: 'c') # Dizionario a 3 elementi con chiavi di tipo int

    Definizione di funzioni in Python

    Sebbene Python supporti l'OOP, molte delle sue caratteristiche sono implementate come funzioni separate; inoltre, i moduli di estensione sono spesso realizzati sotto forma di una libreria di funzioni. Le funzioni vengono utilizzate anche nelle classi, dove sono tradizionalmente chiamate metodi.

    La sintassi per definire le funzioni in Python è estremamente semplice; tenendo conto dei requisiti di cui sopra:

    def NOME_FUNZIONE (parametri): espressione # 1 espressione # 2 ...

    Come puoi vedere, devi usare la parola chiave def, i due punti e il rientro. Anche chiamare una funzione è molto semplice:

    FUNCTION_NAME (parametri)

    Ci sono solo alcuni punti specifici di Python da considerare. Come in Java, i valori primitivi vengono passati per valore (una copia del parametro viene passata alla funzione e non può cambiare il valore impostato prima che la funzione fosse chiamata) e i tipi di oggetti complessi vengono passati per riferimento (viene passato un riferimento alla funzione e potrebbe anche cambiare l'oggetto).

    I parametri possono essere passati sia semplicemente in ordine di enumerazione che per nome, in questo caso non è necessario indicare al richiamo di quei parametri per i quali ci sono valori di default, ma passare solo quelli obbligatori o cambiare l'ordine dei parametri al richiamo del funzione:

    # funzione che esegue la divisione di interi utilizzando l'istruzione // def foo (delimoe, delitel): return delimoe // delitel print divide (50,5) # risultato del lavoro: 10 print divide (delitel = 5, delimoe = 50) # risultato lavoro: 10

    Una funzione Python deve restituire un valore, esplicitamente con un'istruzione return seguita da un valore restituito oppure, in assenza di un'istruzione return, viene restituita la costante None quando viene raggiunta la fine della funzione. Come puoi vedere dagli esempi di dichiarazioni di funzione, in Python non è necessario indicare se qualcosa viene restituito da una funzione o meno, tuttavia, se la funzione ha un'istruzione return che restituisce un valore, allora altre istruzioni return in questa funzione deve restituire valori e, se tale valore no, è necessario scrivere esplicitamente return None.

    Se la funzione è molto semplice e consiste in una riga, può essere definita direttamente nel luogo di utilizzo, in Python tale costruzione è chiamata funzione lambda. Una funzione lambda è una funzione anonima (senza il proprio nome), il cui corpo è un'istruzione return che restituisce il valore di un'espressione. Questo approccio può essere conveniente in alcune situazioni, ma va notato che il riutilizzo di tali funzioni è impossibile ("dove sono nato, lì sono tornato utile").

    Vale anche la pena descrivere la relazione di Python con la ricorsione. Per impostazione predefinita, la profondità di ricorsione è limitata a 1000 livelli e, quando questo livello viene superato, verrà generata un'eccezione e il programma verrà interrotto. Tuttavia, se necessario, il valore di questo limite può essere modificato.

    Le funzioni in Python hanno altre caratteristiche interessanti, come la documentazione o la capacità di definire funzioni annidate, ma queste verranno esplorate in futuri articoli della serie con esempi più complessi.

    Vale la pena imparare il linguaggio di programmazione Python? Dopotutto, puoi spesso sentire che questa lingua sta morendo. Questa domanda è stata discussa dagli utenti del sito web di Quora e hanno condiviso le loro opinioni.

    Bill Karwn, sviluppatore SQL, consulente, formatore e autore

    Il linguaggio assembly ti offre l'opportunità perfetta per scrivere codice compatto, efficiente e ottimizzato per il progetto. Puoi fare cose incredibili con il codice scritto in questo linguaggio, che ha una dimensione di pochi kilobyte. Ma il livello di efficienza che si può ottenere usando il linguaggio assembly non giustifica il lavoro extra, il tempo extra e le competenze che richiede.

    È vero che le lingue guadagnano in popolarità e la perdono. La produttività è una grande sfida nella programmazione, quindi di tanto in tanto vengono creati nuovi linguaggi che aumentano la produttività per almeno alcuni tipi di lavoro.

    La maggior parte dei programmatori oggi usa linguaggi di livello superiore: devono essere più produttivi. I linguaggi di primo livello possono essere compilati in codice macchina (C o C ++), oppure possono essere compilati in bytecode indipendenti dall'architettura ed eseguiti in una macchina virtuale (Java) o elaborati (JavaScript, PHP, Ruby, Python, Perla, ecc.).

    L'equivoco che è necessario imparare il linguaggio assembly, perché "è meglio di Python". Questo è un punto di vista sciocco basato su dati obsoleti.

    Bill Poucher, CEO di ICPC, software per l'energia, genetica sintetica e altro ancora.

    Impara Python. Mettiti a disposizione un'esperienza di programmazione. Questa lingua ha una sua eleganza.

    Impara il C come linguaggio per macchine Unix. Comprendere UNIX è relativamente semplice.

    Impara MIX per capire Knuth.

    Impara Java in modo da non avere difficoltà a lavorare con gli altri, oltre a padroneggiare la programmazione orientata agli oggetti.

    Impara il C++ in modo da poter programmare in qualsiasi stile tu voglia. La sua forza è che è il principale linguaggio di programmazione. Il suo punto debole è che devi capire il suo stile per programmarlo.

    Impara LISP per consolidare la tua comprensione della ricorsione.

    Ho detto che non dovresti imparare almeno qualcosa? No. Perché l'unica cosa che bisogna fare è abituarsi ad imparare costantemente qualcosa, soprattutto imparare a risolvere i problemi che si presentano.

    Shiva Shinde, Python è facile da codificare ma difficile da leggere

    Il linguaggio di programmazione Python non sta morendo, è uno dei linguaggi in più rapida crescita.

    1. È facile da imparare
    • Attualmente, 8 dei primi 10 programmi informatici americani utilizzano questo linguaggio (Philip Guo, CACM)
    • I programmi Python di solito hanno un minimo di modelli che si trovano comunemente in altri linguaggi di programmazione. Pertanto, è possibile utilizzare più spesso soluzioni di problemi non convenzionali.
    • Se hai esperienza di programmazione, anche se non in questo linguaggio, imparerai rapidamente a padroneggiare Python.

    2. Funzionalità complete

    • Non è solo un linguaggio per le statistiche. Python ha tutte le capacità per raccogliere e pulire i dati, per lavorare con database e calcolo ad alte prestazioni e molto altro ancora.
    • Questo è un linguaggio di programmazione generalmente accettato con un numero enorme di librerie integrate. È utile per la gestione di dati e database, nonché per la programmazione di rete. È un linguaggio riflessivo con un'enorme quantità di risorse disponibili.

    3. Librerie di dati scientifici seri

    • Python ha librerie scientifiche significative con un'enorme quantità di dati da utilizzare.
    • La spina dorsale di queste biblioteche scientifiche è l'ecosistema SciPy, che ospita anche le proprie conferenze.
    • Panda e Matplotlib fanno entrambi parte di SciPy. Forniscono dati superiori su un'ampia varietà di argomenti come l'apprendimento automatico, l'estrazione di testo e l'analisi della rete.

    Hernan Soulages, programmatore pragmatico

    Questa lingua è abbastanza popolare, la sua importanza sta crescendo negli ambienti accademici. È anche vero che l'utilità di un linguaggio di programmazione dipende da cosa ci si vuole fare.

    Non mi piace affatto PHP, ma non sono così stupido da negare la sua versatilità e potenza, e che il linguaggio è abbastanza facile da padroneggiare.
    Per quanto riguarda l'apprendimento dell'assemblatore, questo linguaggio dipende direttamente dal processore con cui stai lavorando.

    Se sai come lavorare con uno, sarai sicuramente in grado di usarlo in una famiglia di processori per un po' di tempo. Ma nel tempo subiscono anche dei cambiamenti. In questo senso, è la famiglia di lingue meno durevole.

    Magnus Lyczka, sviluppatore software e consulente a Göteborg

    A molti utenti piace Python. Per alcune applicazioni, sarà troppo lenta e, ad esempio, con il linguaggio assembly, funzioneranno più velocemente, ma anche rapidamente queste applicazioni funzioneranno in C, mentre il codice scritto in C funzionerà per tutte le piattaforme.

    Molte startup hanno avuto successo con il linguaggio Python, dopo di che hanno dovuto riscrivere alcuni programmi in Java, C++ o C. E se queste startup avessero iniziato a lavorare in linguaggio assembly, molto probabilmente avrebbero esaurito i fondi molto prima del loro rapido ma il codice difficile da leggere sarebbe completo.

    Ma quando si lavora con il linguaggio assembly, si ha a che fare non solo con diverse architetture di processori, ma anche con dettagli tecnici che differiscono nei diversi sistemi operativi.

    Principali articoli correlati