Pythoni võrdlusoperaatorid: täielik juhend algajatele ja edasijõudnutele

1. Mis on võrdlusoperaatorid Pythonis?

Pythonis kasutatakse võrdlusoperaatoreid kahe väärtuse või objekti võrdlemiseks ja tingimuste hindamiseks. Nende abil saab võrrelda arve, stringe, loendeid jne ning täita programmi sees tingimuslikke käske. See võimaldab luua paindlikku ja keerukat juhtloogikat.

Võrdlusoperaatorite roll

Võrdlusoperaatorite abil kontrollib programm, kas teatud tingimus on täidetud, ja tagastab True või False. Sageli kasutatakse neid koos tingimuslausete, nagu if või while, konstruktsioonidega.

Näide: Põhiline tingimuslause võrdlusoperaatoritega

a = 10
b = 20

if a < b:
    print("a on väiksem kui b")
else:
    print("a on suurem kui b")
Selles näites võrreldakse, kas muutuja a on väiksem kui b, ja tulemusest sõltuvalt väljastatakse erinev sõnum.

Võrdlusoperaatorid ja Boolean-tüüp

Võrdluse tulemuseks saadavad väärtused True või False kuuluvad Pythonis eriliiki, mida nimetatakse Boolean-tüübiks. See on oluline element programmide juhtloogikas.

2. Peamised võrdlusoperaatorid Pythonis

Python pakub mitmeid põhivõrdlusoperaatoreid. Nendega saab võrrelda arve, stringe ja loendeid. Allpool on toodud enimkasutatavad võrdlusoperaatorid.

Peamised võrdlusoperaatorid

OperaatorKirjeldusNäide
==Kontrollib, kas kaks väärtust on võrdseda == b
!=Kontrollib, kas kaks väärtust ei ole võrdseda != b
<Kontrollib, kas vasakpoolne väärtus on väiksema < b
>Kontrollib, kas vasakpoolne väärtus on suurema > b
<=Kontrollib, kas vasakpoolne väärtus on väiksem või võrdnea <= b
>=Kontrollib, kas vasakpoolne väärtus on suurem või võrdnea >= b

Näide: põhilised võrdlused

x = 5
y = 10

print(x == y)  # False: x ja y ei ole võrdsed
print(x != y)  # True: x ja y ei ole võrdsed
print(x < y)   # True: x on väiksem kui y
Ülaltoodud koodis võrreldakse x ja y väärtusi ning väljastatakse vastavalt True või False.
侍エンジニア塾

3. Kuidas kasutada võrdlusoperaatoreid arvude puhul

Pythonis on arvude võrdlemine väga intuitiivne. Kasutades <, >, <=, >= saab hõlpsasti kontrollida suuruse suhteid. Samuti saab == ja != abil kontrollida, kas väärtused on võrdsed või mitte.

Põhiline arvude võrdlus

a = 7
b = 3

print(a > b)  # True: a on suurem kui b
print(a < b)  # False: a ei ole väiksem kui b
Selles näites võrreldakse muutujate a ja b väärtusi ning tagastatakse vastavalt True või False.

Kommadega arvude (float) võrdlemine

Kommaga arvude (float) võrdlemisel tuleb olla ettevaatlik. Neid esitatakse kahendsüsteemis, mistõttu võivad tekkida väikesed arvutusvead.
a = 0.1 + 0.2
print(a == 0.3)  # False: ujuvarvu täpsuse viga
Sellistel juhtudel on soovitatav võrrelda väärtusi lubatud vea piires.
epsilon = 1e-10
if abs(a - 0.3) < epsilon:
    print("Ligikaudu võrdsed")

4. Kuidas võrrelda stringe ja loendeid

Pythonis saab võrrelda ka stringe ja loendeid. Stringe võrreldakse Unicode’i koodipunktide alusel, loendeid aga elementide kaupa järjest.

Stringide võrdlus

print("apple" > "banana")  # False: "a" on väiksem kui "b"
print("apple" == "apple")  # True: stringid on võrdsed
Stringe võrreldakse tähestikulises järjekorras (Unicode’i alusel). Suurtähed loetakse väiksemateks kui vastavad väiketähed.

Loendite võrdlus

Loendid võrreldakse elementide kaupa järjest. Esimene erinev element määrab võrdluse tulemuse.
list1 = [1, 2, 3]
list2 = [1, 2, 4]

print(list1 < list2)  # True: kuna 3 < 4
Loendite võrdlemisel tuleb arvestada nii elementide järjekorra kui ka pikkusega.
年収訴求

5. Kuidas siduda mitu võrdlusoperaatorit

Pythonis saab mitu võrdlusoperaatorit siduda ühte avaldisse. See on mugav näiteks vahemike kontrollimisel.

Näide sidumisest

x = 15
if 10 < x < 20:
    print("x on suurem kui 10 ja väiksem kui 20")
Siin kontrollitakse ühe lausega, kas x on vahemikus 10–20.

Võrdsuse kontroll mitme väärtuse puhul

Mitme väärtuse võrdsust saab samuti siduda.
a = 10
b = 10
c = 10

if a == b == c:
    print("Kõik väärtused on võrdsed")
See on efektiivne viis mitme muutuja võrdsuse kontrollimiseks.

6. Tingimuslaused ja võrdlusoperaatorid

Võrdlusoperaatoreid kasutatakse sageli koos tingimuslausete (if, elif) abil, et juhtida programmi käiku vastavalt tingimustele.

if-else näide

x = 10
if x > 5:
    print("x on suurem kui 5")
else:
    print("x on 5 või väiksem")

Mitme tingimuse kontroll

age = 18
if age < 13:
    print("Laps")
elif age < 20:
    print("Teismeline")
else:
    print("Täiskasvanu")

Mitme tingimuse kombineerimine and ja or abil

a = 20
if a > 10 and a < 30:
    print("a on suurem kui 10 ja väiksem kui 30")

7. Tähtsad märkused ja parimad praktikad

Et kasutada Pythonis võrdlusoperaatoreid korrektselt, tuleb arvestada teatud eripäradega.

== ja is erinevus

== kontrollib väärtuste võrdsust, is aga seda, kas kaks muutujat viitavad samale objektile.
a = [1, 2, 3]
b = [1, 2, 3]

print(a == b)  # True: väärtused on võrdsed
print(a is b)  # False: erinevad objektid

Ujuvarvude võrdlemisel ettevaatus

Kuna float-arvud ei pruugi olla täpsed, tuleb võrrelda lubatud vea piires.
a = 0.1 + 0.2
epsilon = 1e-10

if abs(a - 0.3) < epsilon:
    print("a on väga lähedal 0.3-le")

Mitme võrdluse sidumine

Kuigi Python lubab siduda mitu võrdlusoperaatorit, võib see muuta koodi raskesti loetavaks. Sel juhul tasub kasutada and või or.
a = 50
b = [10, 20, 50, 100]

if 30 < a and a in b:
    print("a on suurem kui 30 ja sisaldub loendis")

Muutuvate objektide (loendid, sõnastikud) võrdlemine

list1 = [1, 2, 3]
list2 = [1, 2, 3]

print(list1 == list2)  # True: väärtused on võrdsed
print(list1 is list2)  # False: erinevad objektid

Parimad praktikad

  1. Kirjuta lihtne ja loetav kood – väldi liigseid võrdluste sidumisi ja kasuta and/or koodi selgemaks muutmiseks.
  2. Kasuta õigesti is ja ==== väärtuste võrdlemiseks, is objektide identiteedi jaoks.
  3. Ole ettevaatlik ujuvarvude võrdlemisel – ära kasuta ==, vaid kontrolli väikest vahet abs abil.

8. Kokkuvõte: Pythonis võrdlusoperaatorite kasutamine

Selles artiklis selgitasime Pythonis võrdlusoperaatorite põhialuseid ja edasijõudnumaid kasutusviise. Need on hädavajalikud tööriistad, et juhtida programmi käiku ja hinnata keerulisi tingimusi. Samuti käsitlesime == ja is erinevust, ujuvarvude täpsuse küsimusi ning loendite ja sõnastike võrdlemise eripärasid. Nende teadmiste abil saab kirjutada tõhusamat ja vigadeta koodi. Edaspidi Pythoniga programmeerides kasuta neid võtteid, et saavutada paremini loetav ja töökindel kood.
年収訴求