In Python Trīskāršais operators nosaka, vai nosacījums ir patiess vai nepatiess, un pēc tam kā rezultātu atgriež atbilstošo vērtību. Trīskāršais operators ir noderīgs gadījumos, kad mums ir jāpiešķir vērtība mainīgajam, pamatojoties uz vienkāršu nosacījumu, un mēs vēlamies, lai mūsu kods būtu kodolīgāks — viss tikai vienā koda rindā.
virknes vērtība
Tas ir ērti, ja vēlamies izvairīties no vairāku rindiņu rakstīšanas vienkāršam ja-cits nosacījumam. Tāpat kā vienkāršajā if-else gadījumā, pirmā opcija ir patiesā_vērtība tiks izpildīts, ja izteiksmē norādītais nosacījums ir True. Ja nosacījums atgriežas False, tad viltus_vērtība tiks izpildīts.
Syntax: true_value if condition else false_value>
Trīskāršo operatoru var izmantot dažādos veidos. Apskatīsim dažus dažādus piemērus trīskāršo operatoru izmantošanai programmā Python:
Satura rādītājs
- Python Trīskāršais Ja cits
- Trīskāršais operators ligzdotā Ja cits
- Trīskāršais operators, izmantojot Python Tuple
- Trīskāršs operators, izmantojot Python vārdnīcu
- Trīskāršs operators, izmantojot Python Lambda
- Trīskāršs operators ar drukāšanas funkciju
- Python trīskāršā operatora ierobežojumi
Python Trīskāršais Ja cits
Vienkāršākais veids, kā izmantot Python trīskāršo operatoru, ir tad, ja mums ir vienkāršs ja cits nosacījums , tas ir, viens no diviem nosacījumiem ir patiess, bet otrs ir nepatiess.
Piemērs: Šajā kodā mēs salīdzināsim un atradīsim minimālo skaitli no dotajiem diviem skaitļiem, izmantojot Python trīskāršos operatorus un saglabājot rezultātu mainīgā nosaukumā ‘min’. Ja ' a 'ir minimālais, vērtība' a 'tiks drukāts, pretējā gadījumā vērtība' b ' tiks izdrukāts.
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)>
Izvade:
a is minimum>
Trīskāršais operators ligzdotā Ja cits
Var izmantot arī trīskāršo operatoru Python ligzdots if-else priekšraksts . tās pašas sintakse ir šāda:
Syntax: true_value if condition1 else (true_value if condition2 else false_value)>
Piemērs: Šajā piemērā mēs izmantojam ligzdotu if-else, lai parādītu trīskāršu operatoru. Ja ' a' un ' b “ir vienādi, tad mēs drukāsim “a un b ir vienādi” un pretējā gadījumā, ja “a” ir lielāks, tad “b”, tad mēs drukāsim “a ir lielāks par b”, pretējā gadījumā “b ir lielāks par 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 cits 'b ir lielāks')>> Izvade:
b is greater>
Trīskāršais operators, izmantojot Python Tuple
Trīskāršo operatoru var rakstīt arī izmantojot Python korteži . Šajā gadījumā mēs deklarējam False un True vērtības kortežā ar attiecīgi indeksu 0 un 1. Pamatojoties uz nosacījumu, ja rezultāts ir False, tas ir, 0, tiek izpildīta vērtība indeksā 0. Ja nosacījuma rezultāts ir True, tiek izpildīta kortedža indeksa 1 vērtība.
# Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator usinf tuple print(('b is minimum', 'a is minimum') [a < b])> Izvade:
a is minimum>
Trīskāršs operators, izmantojot Python vārdnīcu
Python trīskāršo operatoru var rakstīt arī, izmantojot Python vārdnīca . Šajā gadījumā kā vārdnīcas atslēgas izmantojam atslēgvārdus Patiess un Nepatiess un nodrošinām tiem vērtību, kas jāizpilda, pamatojoties uz nosacījuma rezultātu.
Syntax: (True: true_value, False: false_value) [condition]>
Piemērs: Šajā piemērā mēs izmantojam vārdnīcu, lai parādītu trīskāršu operatoru, kur vārdnīcas atslēgām esam piešķīruši True un False vērtības, kas tiks izpildītas, pamatojoties uz nosacījuma rezultātu.
Python # Python program to demonstrate ternary operator a, b = 10, 20 print({True: 'a is minimum', False: 'b is minimum'} [a < b])> Izvade:
a is minimum>
Trīskāršs operators, izmantojot Python Lambda
Python, lambda funkcijas tiek izmantoti, ja mums ir jānovērtē tikai viena izteiksme. Tādējādi teranery operatora izmantošana ar lambda padara to diezgan vienkāršu un vienkāršu. Tas darbojas tieši tāpat kā kortežs. Tas nozīmē, ka mēs deklarējam nepatiesās un patiesās vērtības attiecīgi ar indeksu 0 un 1.
Syntax: (lambda: false_value, lambda: true_value) [condition] ()>
Piemērs: Šajā piemērā mēs izmantojam Lambda, lai parādītu trīskāršo operatoru. Vienuma atlasei mēs izmantojam korešu un, ja [a
Python # Python program to demonstrate ternary operator a = 10 b = 20 print((lambda: 'b is minimum', lambda: 'a is minimum')[a < b]())>
Izvade:
a is minimum>
Trīskāršs operators ar drukāšanas funkciju
Trīskāršo operatoru var izmantot arī tieši ar Python drukas paziņojums . Tās sintakse ir šāda:
Syntax: print(true_value) if (condition) print(false_value)>
Piemērs: Šajā piemērā mēs atrodam minimālo skaitli starp diviem skaitļiem, izmantojot Python trīskāršo operatoru ar drukas paziņojumu.
Python a = 10 b = 20 # ternary operator with print statement print(a,'is minimum') if (a < b) else print(b,'is minimum')>
Izvade:
10 is minimum>
Python trīskāršā operatora ierobežojumi
Python trīskāršais operators tiek izmantots, lai rakstītu kodolīgus nosacījumu paziņojumus, taču tam ir arī daži ierobežojumi.
- Lasāmība: T ernary operators var padarīt vienkāršas nosacījuma izteiksmes kodolīgākas, tas var arī samazināt koda lasāmību, īpaši, ja nosacījums un izteiksmes ir sarežģītas.
- Iespējama kļūda : nepareizs iekavu izvietojums, trūkstošie koli vai nepareiza izteiksmju secība var izraisīt sintakses kļūdas, kuras var būt grūtāk pamanāmas.
- Atkļūdošana : atkļūdošanas laikā var būt grūtāk pārbaudīt mainīgo vērtības, kas iesaistītas sarežģītā trīskāršā izteiksmē.
- Apkope un paplašināšana : sarežģītu trīskāršu izteiksmi var būt grūtāk uzturēt un paplašināt, jo īpaši tad, kad kodu bāze palielinās.
- Nevar izmantot piešķiršanas paziņojumus: Katrs Python trīskāršā operatora operands ir izteiksme , nevis paziņojums, tas nozīmē, ka mēs nevaram izmantot piešķiršanas paziņojumus nevienā no tiem. Pretējā gadījumā programma radīs kļūdu.
Piemērs:
Python 3 if True else x=6>
Izvade:
File 'Solution.py', line 1 3 if True else x=6 ^ SyntaxError: can't assign to conditional expression>