Il processo decisionale è uno dei concetti fondamentali della programmazione informatica. Python supporta le comuni istruzioni di controllo del flusso che si trovano in altri linguaggi, con alcune modifiche. Il if
L'istruzione di controllo è una delle istruzioni più semplici e conosciute utilizzate per eseguire codice in base a una condizione specifica.
In questo articolo, esamineremo le basi di if
istruzione in Python.
Python if
Dichiarazione #
La forma più elementare di if
istruzione in Python è la seguente:
if EXPRESSION:
STATEMENT
Il if
l'istruzione inizia con if
parola chiave seguita dall'espressione condizionale.
L'EXPRESSION
deve essere seguito da (:
) due punti. Se il EXPRESSION
restituisce True
, la STATEMENT
viene giustiziato. Se EXPRESSION
restituisce False
, non succede niente; il STATEMENT
viene ignorato. STATEMENT
essere qualsiasi istruzione, incluse più istruzioni o if
ulteriormente nidificato dichiarazioni. Per non eseguire istruzioni, usa il pass
dichiarazione.
La STATEMENT
il blocco inizia con un rientro e termina con la prima riga non rientrata. La maggior parte delle persone sceglie di utilizzare il rientro a 4 o 2 spazi. La Guida di stile ufficiale per Python Code consiglia di utilizzare 4 spazi per livello di indentazione ed evitare di mescolare tabulazioni e spazi per l'indentazione.
Diamo un'occhiata al seguente script di esempio che verifica se un determinato numero è maggiore di 5.
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
Salva il codice in un file ed eseguilo dalla riga di comando:
python test.py
Lo script ti chiederà di inserire un numero. Ad esempio, se inserisci 10, l'espressione condizionale restituirà True
(10 è maggiore di 5) e il print
la funzione verrà eseguita.
10 is greater than 5.
Python supporta le operazioni di confronto standard:
a == b
- Vero sea
eb
sono uguali.a != b
- Vero sea
eb
non sono uguali.a > b
- Vero sea
è maggiore dib
.a >= b
- Vero sea
è uguale o maggiore dib
.a < b
- Vero sea
è inferiore ab
.a <= b
- Vero sea
è uguale o inferiore ab
.
Puoi anche usare il in
parola chiave per verificare se un valore è presente in un iterabile (stringa, elenco, tupla, dizionario, ecc.):
s = 'linuxize'
if 'ze' in s:
print('True.')
Ecco un altro esempio usando un dizionario:
d = {'a': 2, 'b': 4}
if 'a' in d:
print('True.')
Se utilizzato su un dizionario, il in
parola chiave controlla se il dizionario ha una chiave specifica.
Per negare l'espressione condizionale usa il logico not
operatore:
number = int(input('Enter a number: '))
if not number < 5:
print(number, 'is greater than 5.')
if..else
Dichiarazione #
Un if..else
istruzione valuta una condizione ed esegue una delle due istruzioni a seconda del risultato.
Il if..else
di Python dichiarazione assume la forma seguente:
if EXPRESSION:
STATEMENT1
else:
STATEMENT2
Se EXPRESSION
restituisce True
, STATEMENT1
viene eseguito. Altrimenti, se EXPRESSION
restituisce False
, STATEMENT2
viene eseguito. Puoi avere solo un else
clausola nella dichiarazione.
Il else
la parola chiave deve terminare con (:
) due punti e trovarsi allo stesso livello di indentazione del corrispondente if
parola chiave.
Aggiungiamo un else
clausola allo script di esempio precedente:
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
else:
print(number, 'is equal or less than 5.')
Se esegui il codice e inserisci un numero, lo script stamperà un messaggio diverso a seconda che il numero sia maggiore o minore/uguale a 5.
if..elif..else
Dichiarazione #
Il elif
la parola chiave è l'abbreviazione di else if
.
Il Python if..elif..else
dichiarazione assume la forma seguente:
if EXPRESSION1:
STATEMENT1
elif: EXPRESSION2:
STATEMENT2
else:
STATEMENT3
Se EXPRESSION1
restituisce True
, il STATEMENTS1
viene eseguito. Se il EXPRESSION2
restituisce True
, il STATEMENTS2
viene eseguito. Se nessuna delle espressioni restituisce True
, il STATEMENTS3
viene eseguito.
Il elif
la parola chiave deve terminare con (:
) due punti ed essere allo stesso livello di indentazione del corrispondente if
parola chiave. Puoi avere uno o più elif
clausole nella dichiarazione. Il else
la clausola è facoltativa. Se il else
non viene utilizzata e tutte le espressioni restituiscono False
, nessuna delle istruzioni viene eseguita.
Le condizioni vengono valutate in sequenza. Una volta che una condizione restituisce True
, le restanti condizioni non vengono eseguite e il controllo del programma si sposta alla fine del if
dichiarazioni.
Aggiungiamo un elif
clausola allo script precedente:
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
elif number < 5:
print(number, 'is less than 5.')
else:
print(number, 'is equal to 5.')
A differenza della maggior parte dei linguaggi di programmazione, Python non ha switch
o case
dichiarazioni. Una sequenza di elif
multipli le istruzioni possono essere usate come sostituti di switch
o case
.
Nidificato if
Dichiarazioni #
Python ti permette di annidare if
dichiarazioni all'interno di if
dichiarazioni. In generale, dovresti sempre evitare un'indentazione eccessiva e provare a utilizzare elif
invece di annidare if
dichiarazioni.
Il seguente script ti chiederà di inserire tre numeri e stamperà il numero più grande tra i numeri.
number1 = int(input('Enter the first number: '))
number2 = int(input('Enter the second number: '))
number3 = int(input('Enter the third number: '))
if number1 > number2:
if number1 > number3:
print(number1, 'is the largest number.')
else:
print(number3, 'is the largest number.')
else:
if number2 > number3:
print(number2, 'is the largest number.')
else:
print(number3, 'is the largest number.')
Ecco come apparirà l'output:
Enter the first number: 455
Enter the second number: 567
Enter the third number: 354
567 is the largest number.
Condizioni multiple #
Il or
logico e and
gli operatori consentono di combinare più condizioni in if
dichiarazioni.
Ecco un'altra versione dello script per stampare il numero più grande tra i tre numeri. In questa versione, invece del if
annidato istruzioni, useremo la logica and
operatore e elif
.
number1 = int(input('Enter the first number: '))
number2 = int(input('Enter the second number: '))
number3 = int(input('Enter the third number: '))
if number1 > number2 and number1 > number3:
print(number1, 'is the largest number.')
elif number2 > number3 and number2 > number3:
print(number2, 'is the largest number.')
else:
print(number3, 'is the largest number.')
Conclusione #
Il if
, if..else
e if..elif..else
Le istruzioni consentono di controllare il flusso dell'esecuzione di Python valutando determinate condizioni.
Se hai domande o feedback, sentiti libero di lasciare un commento.