Python 3 - Sintassi di base

Il linguaggio Python ha molte somiglianze con Perl, C e Java. Tuttavia, ci sono alcune differenze nette tra le lingue.

Primo programma Python

Eseguiamo i programmi in diverse modalità di programmazione.

Programmazione in modalità interattiva

Invocare l'interprete senza passare un file di script come parametro fa apparire il seguente prompt:

$ python

Python 3.3.2 (default, Dec 10 2013, 11:35:01)
[GCC 4.6.3] on Linux
Type "help", "copyright", "credits", or "license" for more information.
>>>

On Windows:

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>>

Digita il testo seguente al prompt di Python e premi Invio -

>>> print ("Hello, Python!")

Se stai utilizzando la versione precedente di Python (Python 2.x), usa le parentesi come inprintla funzione è opzionale. Questo produce il seguente risultato:

Hello, Python!

Programmazione in modalità script

Invocando l'interprete con un parametro di script inizia l'esecuzione dello script e continua fino al termine dello script. Quando lo script è finito, l'interprete non è più attivo.

Scriviamo un semplice programma Python in uno script. I file Python hanno l'estensione.py. Digita il seguente codice sorgente in un file test.py -

print ("Hello, Python!")

Partiamo dal presupposto che tu abbia l'interprete Python impostato in PATHvariabile. Ora, prova a eseguire questo programma come segue:

On Linux

$ python test.py

Questo produce il seguente risultato:

Hello, Python!

On Windows

C:\Python34>Python test.py

Questo produce il seguente risultato:

Hello, Python!

Proviamo un altro modo per eseguire uno script Python in Linux. Ecco il file test.py modificato -

#!/usr/bin/python3
print ("Hello, Python!")

Supponiamo che tu abbia un interprete Python disponibile nella directory / usr / bin. Ora, prova a eseguire questo programma come segue:

$ chmod +x test.py     # This is to make file executable
$./test.py

Questo produce il seguente risultato:

Hello, Python!

Identificatori Python

Un identificatore Python è un nome utilizzato per identificare una variabile, una funzione, una classe, un modulo o un altro oggetto. Un identificatore inizia con una lettera dalla A alla Z o dalla aaz o un trattino basso (_) seguito da zero o più lettere, trattini bassi e cifre (da 0 a 9).

Python non consente caratteri di punteggiatura come @, $ e% all'interno degli identificatori. Python è un linguaggio di programmazione case sensitive. Quindi,Manpower e manpower sono due diversi identificatori in Python.

Ecco le convenzioni di denominazione per gli identificatori Python:

  • I nomi delle classi iniziano con una lettera maiuscola. Tutti gli altri identificatori iniziano con una lettera minuscola.

  • L'avvio di un identificatore con un singolo trattino basso iniziale indica che l'identificatore è privato.

  • L'inizio di un identificatore con due trattini bassi iniziali indica un identificatore privato forte.

  • Se l'identificatore termina anche con due trattini bassi finali, l'identificatore è un nome speciale definito dalla lingua.

Parole riservate

Il seguente elenco mostra le parole chiave Python. Queste sono parole riservate e non è possibile utilizzarle come costanti o variabili o altri nomi di identificatori. Tutte le parole chiave Python contengono solo lettere minuscole.

e exec non
come finalmente o
asserire per passaggio
rompere a partire dal Stampa
classe globale aumentare
Continua Se ritorno
def importare provare
del in mentre
elif è con
altro lambda dare la precedenza
tranne

Linee e rientro

Python non usa le parentesi graffe ({}) per indicare blocchi di codice per definizioni di classi e funzioni o controllo di flusso. I blocchi di codice sono indicati dall'indentazione della riga, che viene applicata in modo rigido.

Il numero di spazi nell'indentazione è variabile, ma tutte le istruzioni all'interno del blocco devono essere rientrate della stessa quantità. Ad esempio:

if True:
   print ("True")

else:
   print ("False")

Tuttavia, il blocco seguente genera un errore:

if True:
   print ("Answer")
   print ("True")

else:
   print "(Answer")
   print ("False")

Quindi, in Python tutte le linee continue rientrate con lo stesso numero di spazi formerebbero un blocco. Il seguente esempio ha vari blocchi di istruzioni:

Note- Non cercare di capire la logica in questo momento. Assicurati solo di aver capito i vari blocchi anche se sono senza parentesi graffe.

#!/usr/bin/python3
import sys

file_finish = "end"
file_text = ""
contents=[]

file_name=input("Enter filename: ")
if len(file_name) == 0:
   print("Please enter filename")
   sys.exit()

try:
   # open file stream
   file = open(file_name, "w")

except IOError:
   print ("There was an error writing to", file_name)
   sys.exit()

print ("Enter '", file_finish,)
print ("' When finished")

while file_text != file_finish:
   file_text = input("Enter text: ")
   contents.append(file_text)

   if file_text == file_finish:
      # close the file
      file.close()
      break

print(contents)
data = ' '.join([str(elem) for elem in contents])  
print(data)
file.write(data)
file.close()
file_name = input("Enter filename: ")

if len(file_name) == 0:
   print ("Next time please enter something")
   sys.exit()

try:
   file = open(file_name, "r")

except IOError:
   print ("There was an error reading file")
   sys.exit()
file_text = file.read()
file.close()
print (file_text)

Dichiarazioni su più righe

Le dichiarazioni in Python tipicamente terminano con una nuova riga. Python, tuttavia, consente l'uso del carattere di continuazione della riga (\) per indicare che la riga deve continuare. Ad esempio:

total = item_one + \
   item_two + \
   item_three

Le istruzioni contenute tra le parentesi [], {} o () non necessitano di utilizzare il carattere di continuazione della riga. Ad esempio:

days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

Citazione in Python

Python accetta virgolette singole ('), doppie (") e triple (' '' o" "") per denotare stringhe letterali, purché lo stesso tipo di virgolette inizi e termini la stringa.

Le virgolette triple vengono utilizzate per estendere la stringa su più righe. Ad esempio, tutti i seguenti sono legali:

word = 'word'
sentence = "This is a sentence."
paragraph = """This is a paragraph. It is
made up of multiple lines and sentences."""

Commenti in Python

Un cancelletto (#) che non si trova all'interno di una stringa letterale è l'inizio di un commento. Tutti i caratteri dopo il #, fino alla fine della riga fisica, fanno parte del commento e l'interprete Python li ignora.

#!/usr/bin/python3

# First comment
print ("Hello, Python!") # second comment

Questo produce il seguente risultato:

Hello, Python!

Puoi digitare un commento sulla stessa riga dopo un'istruzione o un'espressione:

name = "Madisetti" # This is again comment

Python non ha la funzione di commento su più righe. Devi commentare ogni riga individualmente come segue:

# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.

Utilizzo di righe vuote

Una riga contenente solo spazi bianchi, possibilmente con un commento, è nota come riga vuota e Python la ignora completamente.

In una sessione di interprete interattiva, è necessario immettere una riga fisica vuota per terminare un'istruzione su più righe.

Aspettando l'utente

La riga seguente del programma visualizza il prompt e, l'istruzione che dice "Premere il tasto Invio per uscire", quindi attende che l'utente esegua un'azione -

#!/usr/bin/python3

input("\n\nPress the enter key to exit.")

Qui, "\ n \ n" viene utilizzato per creare due nuove righe prima di visualizzare la riga effettiva. Una volta che l'utente preme il tasto, il programma termina. Questo è un bel trucco per tenere aperta una finestra della console finché l'utente non ha finito con un'applicazione.

Affermazioni multiple su un'unica riga

Il punto e virgola (;) consente più istruzioni su una singola riga, dato che nessuna istruzione avvia un nuovo blocco di codice. Ecco un esempio di cattura utilizzando il punto e virgola:

import sys; x = 'foo'; sys.stdout.write(x + '\n')

Gruppi di istruzioni multiple come suite

Vengono chiamati gruppi di singole istruzioni, che formano un singolo blocco di codice suitesin Python. Istruzioni composte o complesse, come if, while, def e class richiedono una riga di intestazione e una suite.

Le righe di intestazione iniziano l'istruzione (con la parola chiave) e terminano con due punti (:) e sono seguite da una o più righe che compongono la suite. Ad esempio:

if expression : 
   suite
elif expression : 
   suite 
else : 
   suite

Argomenti della riga di comando

Molti programmi possono essere eseguiti per fornire alcune informazioni di base su come dovrebbero essere eseguiti. Python ti consente di farlo con -h -

$ python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-c cmd : program passed in as string (terminates option list)
-d     : debug output from parser (also PYTHONDEBUG=x)
-E     : ignore environment variables (such as PYTHONPATH)
-h     : print this help message and exit

[ etc. ]

Puoi anche programmare il tuo script in modo che accetti varie opzioni. Gli argomenti della riga di comando sono un argomento avanzato. Facci capire.