Brugerdefineret tema i LuckyTemplates
Tjek brugerdefinerede temaer og lær at oprette en tilpasset JSON-fil, så du kan kontrollere brugerdefinerede funktioner på alle visualiseringer i LuckyTemplates.
I programmeringsverdenen er evnen til at forenkle kode værdifuldt for både kodelæsbarhed og effektivitet. Et værktøj til din rådighed til at gøre dette i Python er den ternære operatør.
Den ternære Python-operator (eller betingede udtryk) giver dig mulighed for at evaluere udsagn baseret på, om en given betingelse er sand eller falsk, alt sammen i en enkelt kodelinje. Det kan effektivt erstatte en multiline if-else-sætning, hvilket gør din kode mere kompakt.
Når vi udforsker potentialet for ternære operatører, vil du opdage, at de kan være meget nyttige til at optimere dine programmer. Uanset om det er for at forenkle beslutningslogikken eller strømline din kode, kan brug af Python- ternære operatører effektivt gøre din kode meget lettere at læse og forstå.
Så lad os tage et kig under motorhjelmen og se, hvad de handler om!
Indholdsfortegnelse
Hvad er en Python ternær operatør?
Python ternære operatorer tilbyder en kortfattet måde at evaluere en erklæring baseret på, om en betingelse er sand eller falsk, hvilket gør din kode kompakt og lettere at læse. Nogle mennesker kalder dem også betingede udtryk eller betingede operatorer.
Grundlæggende syntaks
Den ternære operator blev introduceret i Python 2.5 og har en simpel struktur bestående af tre operander:
#demonstrate python ternary operator syntax
result = value_if_true if condition else value_if_false
Denne syntaks består af tre hoveddele:
Betingelsen : Dette er et boolesk udtryk, der vurderes som enten sandt eller falsk, en
value_if_true : Værdien, der returneres, hvis det booleske udtryk er sandt.
value_if_false : Værdien, der returneres, hvis det boolske udtryk er falsk.
Almindelige anvendelsestilfælde
Ternære operatorer eller betingede udtryk bruges ofte til at forenkle korte if-else-sætninger i din kode. Her er et par eksempler for at illustrere, hvordan du kan anvende en ternær Python-operator:
Eksempel 1: Tildeling af en værdi baseret på en betingelse
age = 25
category = "adult" if age >= 18 else "minor"
I dette eksempel tildeler den ternære Python-operator værdien " voksen " til variabelkategorien , hvis alderen er større end eller lig med 18, og " mindre " ellers.
Hvis vi antager, at vi valgte at bruge en if-else-sætning i stedet for en ternær Python-operator, ville det se sådan ud:
age = 25
if age > 18:
category = "Adult"
else:
category = "Minor"
I dette tilfælde kan vi se, at brugen af en ternær operator gør koden meget mere kompakt og let at læse.
Eksempel 2: Valg af det mindste af to tal
a = 10
b = 15
smallest = a if a < b else b
Her hjælper den ternære betingede operator dig med at bestemme det mindste af to tal ved at returnere den mindste værdi mellem a og b.
Eksempel 3: Tildeling af minimumsværdien af to variable:
num1 = 10
num2 = 20
min_num = num1 if num1 < num2 else num2
print(min_num)
Outputtet for dette eksempel vil være 10, da den ternære operator evaluerer betingelsen og returnerer den mindre værdi.
Eksempel 4: Find ud af, om et tal er lige eller ulige:
num = 5
result = "Even" if num % 2 == 0 else "Odd"
print(result)
Outputtet for dette eksempel vil være ulige , da betingelsen evalueres til Falsk , og den ternære operator returnerer det relevante resultat.
Disse eksempler viser, hvordan en ternær Python-operator kan gøre din kode mere kortfattet og lettere at læse. Ved at bruge den grundlæggende syntaks og forstå almindelige use cases, kan du effektivt inkorporere en ternær operator i din Python-kode.
I mere praktiske applikationer kan du bruge det sammen med en loop til at kontrollere, evaluere eller udføre operationer på data.
For mere effektiv datahåndtering kan du tjekke denne video om, hvordan man håndterer manglende data i Python med interpolation.
Sådan bruges Python Ternary Operator
Den normale ternære operator if-else syntaks er blot en af mange måder, vi kan implementere en Python ternær operator på. Vi kan også implementere det ved at bruge almindelige datastrukturer som Python-ordbøger, tupler og lister.
Lad os se på nogle af disse metoder:
Ordbogskortlægning
Du kan emulere en Python ternær operator med ordbogsmapping for at gemme resultaterne for forskellige forhold. Det kan være nyttigt, når du har et begrænset sæt betingelser og tilsvarende resultater.
Her er et eksempel, der bruger ordbogstilknytning til at kontrollere, om et tal er lige eller ulige:
#Implement python ternary operator with dictionary mapping
number = 7
result = {True: "Even", False: "Odd"}
is_even = result[number % 2 == 0]
Ovenstående program vil returnere " Ulige ", da det boolske udtryk i parentes evalueres til Falsk.
Brug af Tuples
Python-tuples er en ordnet, uforanderlig datastruktur, som du kan bruge til at implementere ternære operatorer. Grundlæggende har den ternære tuple-operator en syntaks på:
(condition_is_false, condition_is_true)[condition]
Betingelsen evalueres til enten True eller False , som i Python er lig med henholdsvis hele tallene 1 og o .
Så tuple returnerer det element, der matcher det resulterende indeks. For eksempel, hvis betingelsen evalueres til True , hvilket er 1 , returnerer koden condition_is true .
Ellers evalueres den til False , som er 0, og tuplen returnerer condition_is_false . Her er et eksempel nedenfor:
#Implement ternary operator with tuples
c = False
result = ('a', 'b')[c]
Tuplet gemmer værdien ' a ' i variabelresultatet, da betingelsen evalueres til Falsk. De fleste udviklere kan ikke lide at bruge dette format til ternære operatører, da det kan være lidt forvirrende, hvilket besejrer formålet.
Lambda funktioner
Lambda-funktioner er anonyme enkeltlinje-funktioner, som du kan bruge som et alternativ til ternære operatører. De giver dig mulighed for at udføre simple beregninger og returnere et resultat baseret på en given betingelse.
Her er et eksempel på brug af en lambda-funktion til at finde det maksimale af to tal:
#implement python ternary operator with lambda functions
a, b = 10, 20
max_value = (lambda: a, lambda: b)[a < b]()
Lambda-funktionen returnerer a , hvis betingelsen evalueres til Sand . Ellers returnerer den b .
Hvad er en indlejret ternær operatør?
En indlejret ternær operator er et betinget udtryk med to eller flere booleske udtryk. Du kan oprette dette ved at kæde to eller flere booleske betingelser sammen for at kontrollere flere betingelser.
Vi kan bruge disse typer ternære operatorer til at modellere " elif "-sætninger og indlejrede if-else-blokke.
Lad os se på en ternær operator.
age = 21
#Normal elif statement
if age< 21:
print('Child')
elif age< 25:
print ('young adult')
else:
print('Adult')
#elif statement as a ternary operator
print('Child') if age < 18 else print('Young adult') if age <21 else print ('Old Person')
#Output: 'Young Adult'
Du kan tilføje parenteser til den ternære Python-operator, hvis du vil efterligne en indlejret if-else-sætning. Dette er dog ikke god praksis, da den ternære operator kan blive meget lang og ulæselig.
I tilfælde som dette er det bedre at bruge en standard if-else-blok i din kode.
Hvad er fordelene ved Python Ternary Operator?
Der er mange fordele, du får ved at bruge den ternære Python-operator i din kode. Nogle af disse fordele omfatter:
Kodelæsbarhed og korthed
Brug af den ternære Python-operator kan gøre din kode mere kortfattet, så du kan skrive betingede udtryk på en enkelt linje.
Dette er især nyttigt, når du har at gøre med enkle og ligetil betingelser. Din kode kan være mere læsbar og lettere at forstå, da den reducerer behovet for flere linjer med if-else-sætninger.
Ydelsesovervejelser
Selvom den ternære operatør kan føre til mere kompakt kode, er dens indvirkning på ydeevnen normalt minimal. Pythons fortolker er designet til at optimere kodeudførelsen, hvilket betyder, at både den ternære operator og if-else-sætninger generelt har lignende ydeevnekarakteristika.
Når du koder, skal du prioritere læsbarhed og vedligeholdelse frem for ydeevne, medmindre du arbejder med præstationskritiske applikationer.
Husk, at forskellige situationer kræver forskellige tilgange. Nogle gange er det en fordel at bruge den ternære operator, mens det i andre tilfælde kan være mere passende at holde sig til traditionelle if-else-udsagn.
Ulemper ved Python Ternary Operator
Ternære operatører er gode til at forenkle din kode og gøre dem kompakte. Brugen af dem kan dog have nogle ulemper.
Her er nogle af disse ulemper:
Indlejrede ternære operatører kan blive komplekse
I nogle tilfælde kan den ternære operator gøre koden mindre læsbar, især når der bruges komplekse eller indlejrede betingelser. I disse situationer kan det være mere passende at inkorporere konventionelle if-else-sætninger for at bevare kodens klarhed.
Dette gælder især, når du forsøger at erstatte en indlejret if-else-sætning med en ternær operator. Det resulterer sjældent i ren kode.
Hver operand er et udtryk
Alle operander eller returværdier i en ternær Python-operator er udtryk, ikke sætninger. Forsøg på at bruge en tildelingssætning inde i den ternære operators syntaks vil føre til en syntaksfejl.
Du kan se et eksempel på dette i koden nedenfor.
'Adult' if True else x = 44
Som du kan se nedenfor, resulterer det i en syntaksfejl. I tilfælde som dette bør du bruge en if-else-blok i stedet for en betinget operator.
Bedste praksis og tips
Når du bruger den ternære operator i Python, er der nogle bedste fremgangsmåder og tips til at hjælpe dig med at skrive ren, effektiv og læsbar kode.
For det første skal du sikre dig, at dit betingede udtryk er kort og præcist. Lange og komplekse forhold kan gøre det vanskeligt at forstå logikken bag den ternære operatør.
Hvis du oplever, at du står over for en kompleks tilstand, kan det være bedre at bruge en almindelig hvis-else-sætning i stedet.
#demonstrate nested ternary operator
# Good example
result = "positive" if number >= 0 else "negative"
# Bad example
result = (a + b if (x > 10 and y > 20) else c + d) if (z > 30 and p > 40) else ...
For det andet skal du undgå at indlejre flere ternære operatorer, hvilket kan føre til forvirrende og ulæselig kode. Ligesom med komplekse forhold kan du overveje at bruge en if-else-sætning for mere læsbarhed.
# Good example
x = A if condition1 else B if condition2 else C
# Bad example
x = A if condition1 else (B if condition2 else (C if condition3 else ...))
Til sidst skal du være opmærksom på de passende brugstilfælde for den ternære operatør. Den er mest velegnet til simple enkeltlinjede opgaver, hvor både tilstanden og resultatet er let at forstå.
Hvis din kode involverer mere kompleks logik, loops eller flere opgaver, er det bedre at holde sig til traditionelle if-else-sætninger.
Ofte stillede spørgsmål om Python ternære operatører
Her er nogle spørgsmål, som nye programmører normalt stiller os om ternære operatører:
Hvordan bruger du den ternære operator i en returerklæring i Python?
Du kan bruge en Python ternær operator i en funktions retursætning. Alt du skal gøre er at tilføje det til returopgørelsen.
Her er et eksempel:
#program to check cheese age
def is_legal(age):
return 'legal' if age > 18 else 'Not legal'
Er en ternær operator hurtigere end en if-else-sætning i Python?
Nej, begge har lignende præstationskarakteristika. En ternær operator og en if-else-sætning har begge en O(1)-tidskompleksitet.
Tjek brugerdefinerede temaer og lær at oprette en tilpasset JSON-fil, så du kan kontrollere brugerdefinerede funktioner på alle visualiseringer i LuckyTemplates.
Denne tutorial vil gennemgå, hvordan man bruger TOPN som en virtuel rangeringsfunktion til at generere interessant indsigt baseret på en rangeringslogik i LuckyTemplates.
I denne tutorial viser jeg dig, hvordan du beregner satsformeldage inden for en måned eller måneder i et hospitalsscenarie ved hjælp af DAX i LuckyTemplates.
Lær, hvordan du opretter dynamiske tekstresuméer for at vise indsigt i din rapport ved at bruge LuckyTemplates tilpassede visuelle udvikling kaldet Enlighten Data Story.
I denne blog lærer du, hvordan du dynamisk undersætter en tabelvisuel i LuckyTemplates ved hjælp af DAX-mål og betinget formatering.
En LuckyTemplates-feriekalender er afgørende for mange tidsintelligensberegninger. Lær, hvordan du beregner specifikke feriedatoer ved hjælp af DAX.
Dette er en introduktion til LuckyTemplates Geospatial Analysis til at bygge overbevisende dynamiske kort, som udgør en masse udfordringer for brugerne.
I denne vejledning viser jeg, hvordan du kan bruge den opdaterede funktion på LuckyTemplates databjælker i datatabelvisualiseringer for at gøre dine rapporter mere overbevisende.
I denne blog skulle gennemgå, hvordan man analyserer over de korrekte salgsperioder eller korrekte tidsperioder, hvor du rent faktisk har resultater.
I denne LuckyTemplates Showcase vil vi gennemgå forsikringsapplikationsrapporter, der viser værdifuld information om forsikringsrelaterede produkter og tilbud.