I Python , bestemmer ternær operatør, om en betingelse er sand eller falsk, og returnerer derefter den passende værdi som resultatet. Den ternære operator er nyttig i tilfælde, hvor vi skal tildele en værdi til en variabel baseret på en simpel betingelse, og vi ønsker at holde vores kode mere kortfattet - alt sammen på kun en linje kode.
Det er praktisk, når vi vil undgå at skrive flere linjer for en simpel if-else-tilstand. Ligesom i simple if-else, den første mulighed, den sand_værdi vil blive udført, når betingelsen i udtrykket er True. Hvis betingelsen returnerer False, så falsk_værdi vil blive udført.
Syntax: true_value if condition else false_value>
Den ternære operator kan bruges på forskellige måder. Lad os se et par forskellige eksempler på at bruge ternære operatører i Python:
Indholdsfortegnelse
- Python ternær hvis andet
- Ternær operatør i Nested If else
- Ternær operatør ved hjælp af Python Tuple
- Ternær operatør ved hjælp af Python Dictionary
- Ternær operatør, der bruger Python Lambda
- Ternær operatør med printfunktion
- Begrænsninger for Python Ternary Operator
Python ternær hvis andet
Den enkleste måde at bruge en Python ternær operator på er, når vi har en simpel hvis andet betingelse , det vil sige, at en af de to betingelser er Sand, og den anden er falsk.
Eksempel: I denne kode vil vi sammenligne og finde minimumstallet fra de givne to tal ved at bruge de ternære operatører i Python og gemme resultatet i et variabelnavn 'min'. Hvis ' -en ' er minimum, værdien af ' -en ' vil blive udskrevet, ellers værdien af ' b ’ vil blive udskrevet.
java-sammenkædede strengePython
# 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)>
Produktion:
a is minimum>
Ternær operatør i Nested If else
Den ternære operator kan også bruges i Python indlejret if-else-sætning . syntaksen for det samme er som følger:
Syntax: true_value if condition1 else (true_value if condition2 else false_value)>
Eksempel: I dette eksempel bruger vi en indlejret if-else til at demonstrere ternær operator. Hvis ' en' og ' b ' er ens, så vil vi udskrive 'a og b er ens', og ellers, hvis 'a' er større, så 'b' så vil vi udskrive 'a er større end b' ellers 'b er større end 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 ellers 'b er større')> Produktion:
b is greater>
Ternær operatør ved hjælp af Python Tuple
Den ternære operator kan også skrives ved at bruge Python-tupler . I dette tilfælde erklærer vi falske og sande værdier inde i en tupel ved henholdsvis indeks 0 og 1. Baseret på betingelsen, hvis resultatet er falsk, dvs. 0, bliver værdien ved indeks 0 eksekveret. Hvis betingelsen resulterer i True, udføres værdien ved indeks 1 af tuplen.
Syntax: (false_value, true_value) [condition]>
Eksempel: I dette eksempel vil vi sammenligne og udskrive minimumsværdien, hvor værdierne, der skal udføres, erklæres inde i tuplen.
Python # Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator usinf tuple print(('b is minimum', 'a is minimum') [a < b])> Produktion:
a is minimum>
Ternær operatør ved hjælp af Python Dictionary
Den ternære Python-operator kan også skrives ved at bruge Python ordbog . I dette tilfælde bruger vi True og False nøgleord som ordbogsnøgler og giver dem en værdi, der skal udføres baseret på betingelsens resultat.
css understregningstekst
Syntax: (True: true_value, False: false_value) [condition]>
Eksempel: I dette eksempel bruger vi Dictionary til at demonstrere ternær operator, hvor vi har givet en True og en False værdier til ordbogsnøgler, som vil blive udført baseret 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])> Produktion:
a is minimum>
Ternær operatør, der bruger Python Lambda
I Python, lambda funktioner bruges, når vi kun har ét udtryk at evaluere. Derfor gør brugen af teranery-operatøren med lambda det ganske enkelt og nemt. Det fungerer præcis som tuplet. Det vil sige, at vi erklærer værdierne False og Sand ved henholdsvis indeks 0 og 1.
Syntax: (lambda: false_value, lambda: true_value) [condition] ()>
Eksempel: I dette eksempel bruger vi Lambda til at demonstrere ternær operator. Vi bruger tuple til at vælge en vare, 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]())>
Produktion:
a is minimum>
Ternær operatør med printfunktion
Den ternære operator kan også bruges direkte med Python print erklæring . Dens syntaks er som følger:
Syntax: print(true_value) if (condition) print(false_value)>
Eksempel: I dette eksempel finder vi minimumsantallet blandt to tal ved hjælp af Python ternær operator med print statement.
Python a = 10 b = 20 # ternary operator with print statement print(a,'is minimum') if (a < b) else print(b,'is minimum')>
Produktion:
10 is minimum>
Begrænsninger for Python Ternary Operator
Python ternær operator bruges til at skrive kortfattede betingede udsagn, men den har også nogle begrænsninger.
- Læsbarhed: T ernary operator kan gøre simple betingede udtryk mere kortfattede, det kan også reducere læsbarheden af din kode, især hvis betingelsen og udtrykkene er komplekse.
- Potentiale for fejl : Forkert placering af parenteser, manglende kolon eller forkert rækkefølge af udtryk kan føre til syntaksfejl, der kan være sværere at få øje på.
- Fejlretning : Ved fejlretning kan det være sværere at inspicere værdierne af variabler involveret i et komplekst ternært udtryk.
- Vedligeholdelse og udvidelsesmuligheder : Komplekse ternære udtryk kan blive sværere at vedligeholde og udvide, især når kodebasen vokser.
- Kan ikke bruge opgaveudsagn: Hver operand af den ternære Python-operator er en udtryk , ikke en erklæring, det betyder, at vi ikke kan bruge opgaveerklæringer i nogen af dem. Ellers vil programmet give en fejl.
Eksempel:
binær søgealgoritmePython
3 if True else x=6>
Produktion:
File 'Solution.py', line 1 3 if True else x=6 ^ SyntaxError: can't assign to conditional expression>