Sisään Python , Kolmiosainen operaattori määrittää, onko ehto tosi vai epätosi, ja palauttaa sitten tuloksena oikean arvon. Kolmiosainen operaattori on hyödyllinen tapauksissa, joissa meidän on annettava arvo muuttujalle yksinkertaisen ehdon perusteella ja haluamme pitää koodimme tiiviimpänä - kaikki vain yhdellä koodirivillä.
Se on kätevää, kun haluamme välttää useiden rivien kirjoittamisen yksinkertaisen jos-else-ehdon vuoksi. Kuten yksinkertaisessa jos-else, ensimmäinen vaihtoehto, tosi_arvo suoritetaan, kun lausekkeen ehto on True. Jos ehto palaa False, niin väärä_arvo teloitetaan.
Syntax: true_value if condition else false_value>
Kolmiosaista operaattoria voidaan käyttää eri tavoin. Katsotaanpa muutamia esimerkkejä kolminkertaisten operaattoreiden käyttämisestä Pythonissa:
Sisällysluettelo
- Python Ternary jos muuten
- Kolmiosainen operaattori sisäkkäisissä Jos muuta
- Kolmiosainen operaattori Python Tuplella
- Kolmiosainen operaattori Python-sanakirjalla
- Kolminkertainen operaattori Python Lambdalla
- Kolmiosainen operaattori tulostustoiminnolla
- Python Ternary Operatorin rajoitukset
Python Ternary jos muuten
Yksinkertaisin tapa käyttää Python-kolmiooperaattoria on, kun meillä on yksinkertainen jos muuten ehto , eli jompikumpi ehdoista on tosi ja toinen on epätosi.
Esimerkki: Tässä koodissa verrataan ja löydetään minimiluku annetuista kahdesta luvusta käyttämällä Pythonin kolmijakooperaattoreita ja tallentamalla tuloksen muuttujan nimeen 'min'. jos ' a 'on minimi, arvo' a 'tulostetaan, muuten arvo' b ' painetaan.
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)>
Lähtö:
a is minimum>
Kolmiosainen operaattori sisäkkäisissä Jos muuta
Kolmiosaista operaattoria voidaan käyttää myös Pythonin sisäkkäinen if-else-lause . saman syntaksi on seuraava:
Syntax: true_value if condition1 else (true_value if condition2 else false_value)>
Esimerkki: Tässä esimerkissä käytämme sisäkkäistä if-else-toimintoa kolmiosaisen operaattorin esittämiseen. jos ' a' ja ' b ' ovat yhtä suuret, tulostetaan 'a ja b ovat yhtä suuret' ja muuten, jos 'a' on suurempi kuin 'b', tulostetaan 'a on suurempi kuin b', muuten 'b on suurempi kuin 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 muuten 'b on suurempi')>> Lähtö:
b is greater>
Kolmiosainen operaattori Python Tuplella
Kolmiosainen operaattori voidaan kirjoittaa myös käyttämällä Python-kirjaimet . Tässä tapauksessa ilmoitamme False- ja True-arvot monikon sisällä indeksillä 0 ja vastaavasti 1. Ehtoon perustuen, jos tulos on False, eli 0, indeksin 0 arvo suoritetaan. Jos ehdon tuloksena on True, suoritetaan monikon indeksin 1 arvo.
# Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator usinf tuple print(('b is minimum', 'a is minimum') [a < b])> Lähtö:
a is minimum>
Kolmiosainen operaattori Python-sanakirjalla
Python-kolmiooperaattori voidaan kirjoittaa myös käyttämällä Python-sanakirja . Tässä tapauksessa käytämme sanakirjan avaimina True ja False avainsanoja ja annamme niille arvon, joka suoritetaan ehdon tuloksen perusteella.
Syntax: (True: true_value, False: false_value) [condition]>
Esimerkki: Tässä esimerkissä käytämme sanakirjaa osoittamaan kolmiosaista operaattoria, jossa olemme antaneet sanakirjan avaimille True- ja False-arvot, jotka suoritetaan ehdon tuloksen perusteella.
Python # Python program to demonstrate ternary operator a, b = 10, 20 print({True: 'a is minimum', False: 'b is minimum'} [a < b])> Lähtö:
javascript onclick
a is minimum>
Kolmiosainen operaattori Python Lambdalla
Pythonissa, lambda toiminnot käytetään, kun meillä on vain yksi arvioitava lauseke. Tästä syystä teranery-operaattorin käyttö lambdan kanssa tekee siitä melko yksinkertaista ja helppoa. Se toimii täsmälleen kuten tuple. Eli ilmoitamme väärät ja tosi-arvot indeksillä 0 ja 1 vastaavasti.
Syntax: (lambda: false_value, lambda: true_value) [condition] ()>
Esimerkki: Tässä esimerkissä käytämme Lambdaa kolmiosaisen operaattorin osoittamiseen. Käytämme monikkoa kohteen valitsemiseen ja jos [a
Python # Python program to demonstrate ternary operator a = 10 b = 20 print((lambda: 'b is minimum', lambda: 'a is minimum')[a < b]())>
Lähtö:
a is minimum>
Kolmiosainen operaattori tulostustoiminnolla
Kolmiosaista operaattoria voidaan käyttää myös suoraan Python-tulostuslausunto . Sen syntaksi on seuraava:
Syntax: print(true_value) if (condition) print(false_value)>
Esimerkki: Tässä esimerkissä löydämme minimiluvun kahdesta numerosta käyttämällä Python-kolmiooperaattoria ja print-lausetta.
Python a = 10 b = 20 # ternary operator with print statement print(a,'is minimum') if (a < b) else print(b,'is minimum')>
Lähtö:
10 is minimum>
Python Ternary Operatorin rajoitukset
Python-kolmiooperaattoria käytetään tiiviiden ehdollisten lauseiden kirjoittamiseen, mutta sillä on myös joitain rajoituksia.
- Luettavuus: T ernary-operaattori voi tehdä yksinkertaisista ehdollisista lausekkeista tiiviimpiä, se voi myös heikentää koodisi luettavuutta, varsinkin jos ehto ja lausekkeet ovat monimutkaisia.
- Virheen mahdollisuus : Väärä sulkeiden sijoittelu, puuttuvat kaksoispisteet tai virheellinen lausekkeiden järjestys voivat johtaa syntaksivirheisiin, joita voi olla vaikea havaita.
- Virheenkorjaus : Virheenkorjauksen aikana voi olla vaikeampaa tarkastaa monimutkaisessa kolmilausekkeessa mukana olevien muuttujien arvoja.
- Huolto ja laajennettavuus : Monimutkaisia kolmilausekkeita voi olla vaikeampi ylläpitää ja laajentaa varsinkin koodikannan kasvaessa.
- Tehtävälausekkeita ei voi käyttää: Python-kolmiooperaattorin jokainen operandi on an ilmaisu , ei lausetta, mikä tarkoittaa, että emme voi käyttää määrityslausekkeita niiden sisällä. Muuten ohjelma antaa virheilmoituksen.
Esimerkki:
Python 3 if True else x=6>
Lähtö:
File 'Solution.py', line 1 3 if True else x=6 ^ SyntaxError: can't assign to conditional expression>