logo

Operatore ternario in Python

In Pitone , L'operatore ternario determina se una condizione è vera o falsa e quindi restituisce il valore appropriato come risultato. L'operatore ternario è utile nei casi in cui dobbiamo assegnare un valore a una variabile in base a una condizione semplice e vogliamo mantenere il nostro codice più conciso, il tutto in una sola riga di codice.

È comodo quando vogliamo evitare di scrivere più righe per una semplice condizione if-else. Come nel semplice if-else, la prima opzione, the vero valore verrà eseguito quando la condizione fornita nell'espressione è vera. Se la condizione restituisce False, allora valore_falso verrà eseguito.



  Syntax:     true_value   if   condition   else   false_value>

L'operatore ternario può essere utilizzato in vari modi. Vediamo alcuni esempi diversi per utilizzare gli operatori ternari in Python:

Tabella dei contenuti

Python ternario se altro

Il modo più semplice per utilizzare un operatore ternario Python è quando abbiamo un semplice se altrimenti condizione , ovvero una delle due condizioni è vera e l'altra è falsa.



Esempio: In questo codice confronteremo e troveremo il numero minimo tra i due numeri indicati utilizzando gli operatori ternari in Python e memorizzando il risultato in un nome di variabile ‘min’. Se ' UN ‘ è minimo, il valore di ‘ UN ‘ verrà stampato, altrimenti il ​​valore di ‘ B ' verrà stampato.

Pitone
# Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator min = 'a is minimum' if a < b else 'b is minimum' print(min)>

Produzione:

a is minimum>

Operatore ternario in Nested If else

È possibile utilizzare anche l'operatore ternario Python ha annidato l'istruzione if-else . la sintassi dello stesso è la seguente:



.tostring java
Syntax: true_value if condition1 else (true_value if condition2 else false_value)>

Esempio: In questo esempio, stiamo utilizzando un if-else nidificato per dimostrare l'operatore ternario. Se ' UN' E ' B ‘ sono uguali allora stamperemo ‘a e b sono uguali’ altrimenti se ‘a’ è maggiore di ‘b’ allora stamperemo ‘a è maggiore di b’ altrimenti ‘b è maggiore di a’.

Pitone
# Python program to demonstrate nested ternary operator a = 10 b = 20 print('Both are equal' if a == b else 'a is greater' if a>b altrimenti 'b è maggiore')>

Produzione:

b is greater>

Operatore ternario che utilizza la tupla Python

L'operatore ternario può anche essere scritto utilizzando Tuple Python . In questo caso dichiariamo i valori False e True all'interno di una tupla rispettivamente agli indici 0 e 1. In base alla condizione, se il risultato è False, cioè 0, viene eseguito il valore all'indice 0. Se la condizione risulta True, viene eseguito il valore dell'indice 1 della tupla.

Syntax: (false_value, true_value) [condition]>

Esempio: In questo esempio confronteremo e stamperemo il valore minimo, dove all'interno della tupla sono dichiarati i valori da eseguire.

Pitone
# Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator usinf tuple print(('b is minimum', 'a is minimum') [a < b])>

Produzione:

a is minimum>

Operatore ternario utilizzando il dizionario Python

L'operatore ternario Python può anche essere scritto utilizzando Dizionario Python . In questo caso utilizziamo le parole chiave True e False come chiavi del dizionario e forniamo loro un valore da eseguire in base al risultato della condizione.

  Syntax: (True: true_value, False: false_value) [condition]>

Esempio: In questo esempio, stiamo utilizzando il Dizionario per dimostrare l'operatore ternario, dove abbiamo assegnato un valore True e False alle chiavi del dizionario, che verranno eseguite in base al risultato della condizione.

Pitone
# Python program to demonstrate ternary operator a, b = 10, 20 print({True: 'a is minimum', False: 'b is minimum'} [a < b])>

Produzione:

allinea l'immagine con i css
a is minimum>

Operatore ternario che utilizza Python Lambda

In Pitone, funzioni lambda vengono utilizzati quando abbiamo una sola espressione da valutare. Quindi l'utilizzo dell'operatore teranery con lambda lo rende abbastanza semplice e facile. Funziona esattamente come la tupla. Cioè dichiariamo i valori False e True rispettivamente agli indici 0 e 1.

Syntax: (lambda: false_value, lambda: true_value) [condition] ()>

Esempio: In questo esempio, utilizziamo Lambda per dimostrare l'operatore ternario. Stiamo usando la tupla per selezionare un elemento e se [a

Pitone
# Python program to demonstrate ternary operator a = 10 b = 20 print((lambda: 'b is minimum', lambda: 'a is minimum')[a < b]())>

Produzione:

a is minimum>

Operatore ternario con funzione di stampa

L'operatore ternario può essere utilizzato anche direttamente con il Dichiarazione di stampa Python . La sua sintassi è la seguente:

codice di codifica huffman
Syntax: print(true_value) if (condition) print(false_value)>

Esempio: In questo esempio, troviamo il numero minimo tra due numeri utilizzando l'operatore ternario Python con l'istruzione print.

Pitone
a = 10 b = 20 # ternary operator with print statement print(a,'is minimum') if (a < b) else print(b,'is minimum')>

Produzione:

10 is minimum>

Limitazioni dell'operatore ternario Python

L'operatore ternario Python viene utilizzato per scrivere istruzioni condizionali concise ma anch'esso presenta alcune limitazioni.

  • Leggibilità: t L'operatore esterno può rendere più concise le espressioni condizionali semplici, ma può anche ridurre la leggibilità del codice, soprattutto se la condizione e le espressioni sono complesse.
  • Potenziale di errore : il posizionamento errato di parentesi, due punti mancanti o un ordine errato delle espressioni può portare a errori di sintassi che potrebbero essere più difficili da individuare.
  • Debug : Durante il debug, potrebbe essere più difficile controllare i valori delle variabili coinvolte in un'espressione ternaria complessa.
  • Manutenzione ed estensibilità : le espressioni ternarie complesse potrebbero diventare più difficili da mantenere ed estendere soprattutto quando la base di codice cresce.
  • Non è possibile utilizzare istruzioni di assegnazione: Ogni operando dell'operatore ternario Python è un espressione , non un'istruzione, ciò significa che non possiamo utilizzare istruzioni di assegnazione all'interno di nessuna di esse. Altrimenti il ​​programma genererà un errore.

Esempio:

Pitone
3 if True else x=6>

Produzione:

File 'Solution.py', line 1  3 if True else x=6  ^ SyntaxError: can't assign to conditional expression>