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 seaebsono uguali.a != b- Vero seaebnon 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.