Pythonissa sijaitsevan kolmiosaisen operaattorin avulla voimme suorittaa ehdolliset tarkistukset ja määrittää arvot tai suorittaa operaatioita yhdellä rivillä. Se tunnetaan myös ehdollisena lausekkeina, koska se arvioi ehdon ja palauttaa yhden arvon, jos ehto on totta ja toinen, jos se on väärä.
Perusesimerkki kolmesta operaattorista
Yksinkertaisin tapa käyttää Python -kolmiosaajaa on, kun meillä on yksinkertainen Jos muutkin ehto - Kumpi tahansa kahdesta ehdoista on totta ja toinen on väärä.
Aloitetaan yksinkertaisella esimerkillä määrittääksesi, onko numero tasainen vai pariton:
Pythonn = 5 res = 'Even' if n % 2 == 0 else 'Odd' print(res)
Tulos
Odd
Kolmikohtaista operaattoria voidaan käyttää eri tavoin. Katsotaanpa muutamia erilaisia esimerkkejä käyttää Pythonissa olevia kolmen operaattoreita:
Sisältötaulukko
merkkijono kokonaisluvuksi javassa
- Kolmiosainen operaattori sisäkkäin, jos muu
- Kolmiohjain käyttämällä Python Tuple
- Kolmiohjain käyttämällä Python -sanakirjaa
- Kolmiohjain käyttämällä Python Lambda
- Kolmiohjain tulostustoiminnolla
Kolmiosainen operaattori sisäkkäin, jos muu
Kolmiohjainta voidaan käyttää myös Python sisäkkäinen if-Else-lausunto . Voimme pesii ternaarin operaattorit arvioidakseen useita olosuhteita yhdellä rivillä.
Syntaksi: arvo_if_true, jos ehto muu arvo_if_false
Esimerkki:
Python
n = -5 res = 'Positive' if n > 0 else 'Negative' if n < 0 else 'Zero' print(res)
Tulos
Negative
Selitys:
java parseint
- Ensin se tarkistaa, onko NUM> 0. Jos totta, se palauttaa 'positiivisen'.
- Jos väärä, se tarkistaa, onko NUM< 0. If True it returns 'Negative'.
- Jos molemmat ehdot epäonnistuvat, se laiminlyö 'nollaan'.
Kolmiohjainen operaattori tuple
Kolmikymmenen operaattori voidaan kirjoittaa myös käyttämällä Python -tuples . Tuple -indeksointimenetelmä on vaihtoehto kolmen operaattorille.
Syntaksi: (condition_is_false condition_is_true) [ehto]
Esimerkki:
kehittäjätilan poistaminen käytöstäPython
n = 7 res = ('Odd' 'Even')[n % 2 == 0] print(res)
Tulos
Odd
Selitys:
- Edellytys NUM % 2 == 0 arvioidaan vääriksi (hakemisto 0), joten se valitsee 'pariton'.
Kolmiohjain käyttämällä sanakirjaa
Eräs sanakirja Voidaan käyttää kartoittamaan olosuhteet arvoihin, jotka tarjoavat tavan käyttää kolmiosaista operaattoria monimutkaisemmilla olosuhteilla.
Syntaksi: condition_dict = {true: arvo_if_true false: arvo_if_false}
Esimerkki:
Pythona = 10 b = 20 max = {True: a False: b}[a > b] print(max)
Tulos
20
Selitys: Tämä käyttää sanakirjaa, jossa avain on tosi tai väärä ehdon a> b perusteella. Sitten valitaan vastaava arvo (A tai B).
Kolmiohjain käyttämällä Python Lambda
Lambda Voidaan käyttää yhdessä kolmen operaattorin kanssa inline -ehdollisen logiikan suhteen.
java-indeksi
Syntaksi: lambda x: arvo_if_true, jos ehto muualla arvoa_if_false
Esimerkki:
Pythona = 10 b = 20 max = (lambda x y: x if x > y else y)(a b) print(max)
Tulos
20
Selitys: Tämä määrittelee tuntemattoman toiminnon (Lambda), joka ottaa kaksi argumenttia ja palauttaa suuremman kolmen operaattorin avulla. Sitä kutsutaan sitten A: n ja b: n kanssa.
Kolmiohjain tulostustoiminnolla
Kolmiohjelmaa voidaan käyttää myös suoraan Python Print -lausunto . Sen syntaksi on seuraa:
Syntaksi: tulosta (arvo_if_true, jos ehto muu arvo_if_false)
Esimerkki: Tässä esimerkissä löydämme vähimmäisluvun kahdesta numerosta käyttämällä Python -kolmiooperaattoria painettuna.
ikkuna.avaaPython
a = 10 b = 20 print('a is greater' if a > b else 'b is greater')
Tulos
b is greater
Selitys: Tämä tarkistaa, onko A suurempi kuin b. Jos totta, se tulostaa 'a on suurempi'; Muuten se tulostaa 'B on suurempi'.
Python -kolmiosaisen operaattorin rajoitukset
Vaikka kolmiosainen operaattori on tiivis, sitä tulisi käyttää varoen:
- Se voi vähentää luettavuutta, jos sitä käytetään liikaa tai sitä käytetään monimutkaisissa olosuhteissa.
- Se on rajoitettu yksinkertaisiin yksirivisiin lausekkeisiin.