Junior — Middle
Kas saaksite selgitada, milles seisneb erinevus võrdlusoperaatori == ja identiteedoperaatori is vahel Pythonis?
sobes.tech AI
Vastus AI-lt
Pythonis kontrollib operaator == objektide väärtuste võrdlust, see tähendab, et see võrdleb objektide sisu või olekut. Näiteks kaks erinevat stringi sama tekstiga on võrdsed == abil.
Operaator is kontrollib objektide identiteeti — näitab, kas mõlemad muutujad viitavad samale objektile mälus.
Näide:
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a == c) # Tõene, sest nimekirjad sisaldavad samu elemente
print(a is c) # Väär, erinevad objektid
print(a is b) # Tõene, mõlemad muutujad viitavad samale objektile
Seega, == vastutab loogilise võrdluse eest, ja is füüsilise objekti identiteedi eest.