logo

Ternær operatør i Python

I Python , bestemmer ternær operatør om en betingelse er sann eller usann, og returnerer deretter den riktige verdien som resultat. Den ternære operatoren er nyttig i tilfeller der vi trenger å tilordne en verdi til en variabel basert på en enkel betingelse, og vi ønsker å holde koden vår mer kortfattet - alt i bare én kodelinje.

Det er praktisk når vi vil unngå å skrive flere linjer for en enkel if-else-tilstand. Som i enkel if-else, det første alternativet, den sann_verdi vil bli utført når betingelsen gitt i uttrykket er True. Hvis betingelsen returnerer False, da falsk_verdi vil bli utført.



  Syntax:     true_value   if   condition   else   false_value>

Den ternære operatøren kan brukes på forskjellige måter. La oss se noen forskjellige eksempler på bruk av ternære operatører i Python:

Innholdsfortegnelse

Python ternær hvis annet

Den enkleste måten å bruke en Python ternær operatør på er når vi har en enkel hvis annet tilstand , det vil si at en av de to betingelsene er sanne og den andre er usann.



Eksempel: I denne koden vil vi sammenligne og finne minimumstallet fra de gitte to tallene ved å bruke de ternære operatørene i Python og lagre resultatet i et variabelnavn 'min'. Hvis ' en ' er minimum, verdien av ' en ' vil bli skrevet ut, ellers verdien av ' b ' vil bli skrevet ut.

alfabetet av tall
Python
# 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)>

Produksjon:

a is minimum>

Ternær operatør i Nested If else

Den ternære operatøren kan også brukes i Python nestet if-else-setning . syntaksen for det samme er som følger:



Syntax: true_value if condition1 else (true_value if condition2 else false_value)>

Eksempel: I dette eksemplet bruker vi en nestet if-else for å demonstrere ternær operator. Hvis ' en' og ' b ' er like, vil vi skrive ut 'a og b er like', og hvis 'a' er større enn 'b', vil vi skrive ut 'a er større enn b' ellers er 'b større enn a'.

Python
# 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 annet 'b er større')>

Produksjon:

b is greater>

Ternær operatør som bruker Python Tuple

Den ternære operatoren kan også skrives ved å bruke Python-tupler . I dette tilfellet erklærer vi falske og sanne verdier inne i en tuppel ved henholdsvis indeks 0 og 1. Basert på betingelsen, hvis resultatet er False, det vil si 0, blir verdien ved indeks 0 utført. Hvis betingelsen resulterer i True, utføres verdien ved indeks 1 av tuppelen.

Syntax: (false_value, true_value) [condition]>

Eksempel: I dette eksemplet vil vi sammenligne og skrive ut minimumsverdien, der verdiene som skal utføres er deklarert inne i tuppelen.

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

Produksjon:

a is minimum>

Ternær operatør som bruker Python Dictionary

Den ternære Python-operatoren kan også skrives ved å bruke Python-ordbok . I dette tilfellet bruker vi True og False nøkkelord som ordboknøkler og gir dem en verdi som skal utføres basert på betingelsens resultat.

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

Eksempel: I dette eksemplet bruker vi Dictionary for å demonstrere ternær operator, der vi har gitt en True og en False verdi til ordboknøkler, som vil bli utført basert på betingelsens resultat.

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

Produksjon:

a is minimum>

Ternær operatør som bruker Python Lambda

I Python, lambda funksjoner brukes når vi bare har ett uttrykk å evaluere. Derfor gjør bruk av teranery-operatøren med lambda det ganske enkelt og enkelt. Den fungerer akkurat som tuppelen. Det vil si at vi erklærer falske og sanne verdier ved henholdsvis indeks 0 og 1.

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

Eksempel: I dette eksemplet bruker vi Lambda for å demonstrere ternær operatør. Vi bruker tuple for å velge et element og hvis [a

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

Produksjon:

a is minimum>

Ternær operatør med utskriftsfunksjon

Den ternære operatøren kan også brukes direkte med Python print uttalelse . Syntaksen er som følger:

Syntax: print(true_value) if (condition) print(false_value)>

Eksempel: I dette eksemplet finner vi minimumstallet blant to tall ved å bruke Python ternær operatør med utskriftssetning.

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

Produksjon:

10 is minimum>

Begrensninger for Python Ternary Operator

Python ternær operatør brukes til å skrive konsise betingede utsagn, men den har også noen begrensninger.

  • Lesbarhet: T ernær operator kan gjøre enkle betingede uttrykk mer konsise, den kan også redusere lesbarheten til koden din, spesielt hvis betingelsen og uttrykkene er komplekse.
  • Potensial for feil : Feil plassering av parenteser, manglende kolon eller feil rekkefølge av uttrykk kan føre til syntaksfeil som kan være vanskeligere å oppdage.
  • Feilsøking : Ved feilsøking kan det være vanskeligere å inspisere verdiene til variabler som er involvert i et komplekst ternært uttrykk.
  • Vedlikehold og utvidbarhet : Komplekse ternære uttrykk kan bli vanskeligere å vedlikeholde og utvide, spesielt når kodebasen vokser.
  • Kan ikke bruke oppdragserklæringer: Hver operand til den ternære Python-operatoren er en uttrykk , ikke en erklæring, det betyr at vi ikke kan bruke oppgavesetninger i noen av dem. Ellers vil programmet gi en feil.

Eksempel:

binær søkealgoritme
Python
3 if True else x=6>

Produksjon:

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