Pythoni loogilised operaatorid: and, or, not — Täielik juhend

1. Sissejuhatus

Python on laialdaselt armastatud kui lihtne, väga loetav programmeerimiskeel. Selle paindlikkus ja intuitiivne süntaks muudavad selle populaarseks kõigile alates algajatest kuni professionaalideni. Oma omaduste hulgas on loogilised operaatorid asendamatud tingimuslausete, tsüklite ja keerukate tingimusavaldiste kirjutamisel.
See artikkel selgitab põhjalikult Pythoni loogilisi operaatoreid — and, or ja not — hõlmates kõike alates põhilisest kasutusest kuni täiustatud tehnikateni. Samuti käsitletakse operaatorite eelistusjärjekorda, kuidas mitte‑booli väärtusi hinnatakse, ning lühilõike hindamise mehhanismi. Lõpuks oleme lisanud praktilisi näiteid ja KKK.
Selle artikli lugemisega suudavad isegi Pythoni algajad omandada loogilised operaatorid ning teha tingimusi ja andmete manipuleerimist tõhusamalt. Loodame, et leiate selle kasulikuks.

Ad

2. Loogiliste operaatorite tüübid Pythoni ja põhilised näited

Pythonil on kolm põhilist loogilist operaatorit. Allpool selgitame igaühe käitumist ja kasutamist üksikasjalikult konkreetsete näidetega.

and (loogiline JA)

and annab tulemuseks True ainult siis, kui kõik tingimused on True. Kui ükski tingimus on False, on kogu avaldis False.
Põhiline kasutus

x = 10
y = 20

if x > 5 and y < 30:
    print("Both conditions are met")
# Output: Both conditions are met

Selles näites on nii x > 5 kui ka y < 30 täidetud, seega käivitatakse if‑lause sees olev kood.

or (loogiline VÕI)

or annab tulemuseks True, kui ükskõik mill tingimus on True. Kasuta seda, kui soovid kontrollida, kas vähemalt üks mitmest tingimusest on täidetud.
Põhiline kasut

age = 65

if age < 18 or age > 60:
    print("You are eligible for a discount")
else:
    print("Regular price applies")
# Output: You are eligible for a discount

Selles näites, kuna age on üle 60 aasta, hindab tingimus tulemuseks True.

not (loogiline MITTE)

not pöörab tingimuse hindamise tulemuse ümber. See muudab True väärtuse False‑iks ja False väärtuse True‑ks.
Põhiline kasutus

is_logged_in = False

if not is_logged_in:
    print("You need to log in")
# Output: You need to log in

Selles näites, kuna is_logged_in on False, muudab not tingimuse tulemuseks True.

Praktilised näited

Saad ka kombineerida mitu operaatorit tingimuste määramisel.

x = 15
y = 10
z = 5

if (x > y and z < y) or not (x == 15):
    print("The conditions are met")
else:
    print("The conditions are not met")
# Output: The conditions are met

Selliste keerukate tingimusavaldiste loomisel on oluline kasutada sulge, et teha hindamise järjekord selgeks.

Ad

3. Põhjalik juhend Pythoni loogiliste operaatorite eelistusjärjekorrale: kuidas kirjutada täpseid tingimusavaldisi

Pythoni puhul, kui mitu loogilist operaatorit kombineeritakse, hinnatakse neid nende eelistusjärjekorra alusel. Selle järjekorra mõistmine aitab vältida soovimatut käitumist ja võimaldab kirjutada täpseid tingimusavaldisi.

Eelistusjärjekorra põhireeglid

Loogiliste operaatorite eelistusjärjekord Pythoni keeles on järgmine.

  1. not (kõige kõrgem)
  2. and
  3. or (madalaim)

Näide:

a = True
b = False
c = True

result = a or b and c
print(result)  # Output: True

Selles näites hinnatakse kõigepealt b and c selle tulemus kombineeritaksea orga.b and chindamine annabFalse, ninga or FalsemuutubTrue`‑ks.

Eelistusjärjekorra selge määratlemine sulgude abil

Sulgude kasutamine on tõhus viis eelistusjärjekorra selgitamiseks ning see parandab ka koodi loetavust.
Näide:

a = True
b = False
c = True

result = (a or b) and c
print(result)  # Output: True

Selles olukorras hinnatakse kõigepealt a or b, seejärel rakendatakse and c. Sulgude kasutamine selgitab programmi kavatsust.

Mis juhtub, kui eelistusjärjekorda ignoreeritakse

Eelistusjärjekorra ignoreerimine võib viia ootamatute tulemusteni.
Näide:

x = 10
y = 5
z = 20

# Kui eirate eelistusjärjekorda
if x > y or z < y and z > x:
    print("The condition is met")
else:
    print("The condition is not met")
# Väljund: Tingimus on täidetud

Selles koodis saab z < y and z > x prioriteeti, nii et tulemus ei pruugi õigesti hinnata. Sulgude kasutamine võimaldab seada selged tingimused.

Ad

4. Näited, mis näitavad, kuidas Pythoni loogilised operaatorid hindavad mitte-boolseid väärtusi

Pythonis rakenduvad loogilised operaatorid mitte ainult boolean väärtustele, vaid ka teistele andmetüüpidele. Selle käitumise mõistmine võimaldab kirjutada paindlikumat koodi.

Hindamisreeglid mitte-boolsete väärtuste jaoks

Järgmised väärtused loetakse Pythonis ‘false’ks.

  • 0 (numbrilised tüübid)
  • "" (tühi string)
  • [] (tühi loend)
  • None
  • False

Kõik muud väärtused koheldakse kui ‘true’. Näide:

value = 0 or "default value"
print(value)  # Väljund: vaikimisi väärtus

Selles näites hindab 0 ‘false’ks, seega tagastatakse väärtus "default value".

Praktilised näited

Seada tagasipöördumise väärtus, kui tingimus ei ole täidetud

user_input = ""
default_value = user_input or "No input"

print(default_value)  # Väljund: Sisend puudub

Kuna user_input on tühi string (loetakse ‘false’ks), valitakse selle asemel "No input".

Ad

5. Kuidas lühikehindlus toimib Pythoni loogiliste operaatoritega

Pythoni loogilised operaatorid kasutavad funktsiooni nimega “lühikehindlus”. Selle mehhanismiga, kui tulemus määratakse tingimuslause hindamise ajal, jäetakse ülejäänud osad vahele ega hinnata. See väldib tarbetut arvutust ja võimaldab efektiivsemat töötlemist.

Lühikehindlus: and operaator

and lõpetab edasiste tingimuste hindamise niipea, kui leiab ühe, mis hindub False’ks. See põhineb omadusel, et and on True ainult siis, kui kõik tingimused on True. Näide:

def check_condition():
    print("This function was executed")
    return True

result = False and check_condition()
print(result)  # Väljund: False (funktsiooni ei täideta)

Selles näites, kuna esimene tingimus on False, ei täideta check_condition() funktsiooni ja kogu avaldis hindub False’ks.

Lühikehindlus: or operaator

or lõpetab edasiste tingimuste hindamise niipea, kui leiab ühe, mis hindub True’ks. See põhineb omadusel, et or on True, kui mõni tingimus on True. Näide:

def check_condition():
    print("This function was executed")
    return True

result = True or check_condition()
print(result)  # Väljund: True (funktsiooni ei täideta)

Selles näites, kuna esimene tingimus on True, ei täideta check_condition() funktsiooni ja kogu avaldis hindub True’ks.

Lühikehindluse praktilised näited

Lühikehindlus on eriti kasulik vigade vältimiseks ja tarbetu töötlemise vahelejätmiseks. Vigade vältimise näide

a = None

if a is not None and a.value > 10:
    print("Condition met")
else:
    print("Condition not met")

Selles näites, kui a is not None on False, ei juurdepäädu a.valuele ja vea (AttributeError) saab vältida. See on hea näide sellest, kuidas lühikehindlus parandab programmi ohutust.

Jõudluse parandused lühikehindlusest

Jõudluse parandamise näide

def expensive_computation():
    print("Running an expensive operation")
    return True

result = False and expensive_computation()
# Kuna kulukas operatsioon ei täideta, väheneb arvutuskoormus

Siin, kuna esimene tingimus on False, ei täideta expensive_computation() ja tulemus määratakse. See väldib tarbetut arvutust ja võimaldab programmi efektiivsemalt käivitada.

Ad

6. Pythoni loogiliste operaatorite praktilised näited tingimuste ja loendite toimingute jaoks

operid saab kasutada paljudes olukordades, näiteks tingimuslausete, tsüklite ja loendikomprehensioonide puhul. Siin on mõned konkreetsed näited.

Tingimuslikus harutamises kasutamine

Tingimuslausete (if-lause) puhul saad kombineerida mitu tingimust paindlikuks juht.
Näide:

temperature = 25
weather = "sunny"

if temperature > 20 and weather == "sunny":
    print("It's a great day to go out")
else:
    print("Please check the weather")

Selles näites prinditakse “See on suurepärane päev välja minna”, kui temperatuur on 20 °C või rohkem ning ilm on päikseline. Mitme tingimuse kombineerimisega saad määrata üksikasjalikke kriteeriume.

Loendikomprehensioonide kasutamine

Lisades loogilisi operaatoreid loendikomprehensioonidesse, saad teha lühikesi ja tõhusaid loendioperatsioone.
Näide:

numbers = [1, 2, 3, 4, 5, 6]
filtered = [num for num in numbers if num % 2 == 0 or num > 4]
print(filtered)
# Output: [2, 4, 5, 6]

Selles näites filtreeritakse loend, et leida arvud, mis on paarisarvud või suuremad kui 5. Isegi keeruliste tingimuste korral võimaldavad loogilised operaatorid neid lühidalt väljendada.

While‑tsüklite kasutamine

While‑tsüklites saad kasutada loogilisi tingimusi kontrollimiseks.
Näide:

x = 0
y = 10

while x < 5 and y > 5:
    print(f"x: {x}, y: {y}")
    x += 1
    y -= 1

Selles näites töötab tsükkel, kuni x on väiksem kui 5 ja y on suurem kui 5. Ka mitme tingimuse korral võimaldavad loogilised operaatorid lühidalt väljendada.

Ad

7. KKK jaotis

Vastused tavapärastele küsimustele, mis tekivad Python’i loogiliste operaatorite kasutamisel.

Millised on levinumad vead Python’i loogiliste operaatoritega?

  1. Operaatori eelistuse valesti mõistmine → tingimusavaldiste eelistuse valesti mõistmine, mis viib soovimatute tulemusteni. Lahendus: Kasuta sulge, et eelistus oleks selge.
  2. Mitte‑booli väärtuste käsitlemine
  • None ja tühjad loendid hinnatakse kui “false” — kui sa seda reeglit ei mõista, võib see viia ootamatu käitumiseni.

Näpunäited keerukate tingimuste käsitlemiseks Python’i loogiliste operaatoritega?

  1. Jaga tingimused funktsioonideks
  • tingimused on keerulised, jaota need funktsioonideks, et parandada loetavust. Näide:

“` def is_adult(age): return age >= 18

def is_member(member_status): return member_status == “active”

if is_adult(25) and is_member(“active”): print(“The member meets the conditions”) “`

  1. Lahuta tingimused osadeks
  • Selle asemel, et kirjutada mitu tingimust korraga, eralda need, et need oleksid kergemini mõistetavad.
Ad

8. Kokkuvõte

Python’i loogilised operaatorid on oluline tööriist, mida kasutatakse mitmesugustes rakendustes, näiteks tingimuslikus harutamises, loendite manipuleerimises ja vigade ennetamises. Oleme käsitlenud neid üksikasjalikult alates põhitõdedest kuni praktilise kasutamiseni ning andnud konkreetseid näiteid nende kasutamise kohta.
Õigesti mõistes loogilisi operaatoreid ning kasutades lühikese lülitamise hindamist ja eelistusreegleid, saad kirjutada tõhusamaid ja turvalisemaid programme. Viita sellele artiklile ja rakenda neid tehnikaid aktiivselt igapäevases programmeerimises.

Ad
年収訴求