Middle
Ի՞նչ է տարբերությունը is և ==-ի միջև Python-ում։
sobes.tech AI
Պատասխան AI-ից
Python-ում օպերատոր is-ը ստուգում է, արդյոք երկու փոփոխականները ցույց են տալիս նույն օբյեկտին հիշողության մեջ (այսինքն՝ համեմատում է օբյեկտների նույնականությունը): Օպերատոր ==-ը ստուգում է օբյեկտների արժեքների հավասարությունը, այսինքն՝ կանչում է __eq__ մեթոդը և համեմատում է բովանդակությունը կամ հավասարության տրամաբանությունը:
Օրինակ՝
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # Ճիշտ, քանի որ b հղում է նույն օբյեկտին
print(a == b) # Ճիշտ, արժեքները համընկնում են
print(a is c) # Սխալ, տարբեր օբյեկտներ
print(a == c) # Ճիշտ, ցուցակների արժեքները հավասար են
Այսպիսով՝ is-ը նույնականության ստուգում է (մի օբյեկտ), իսկ ==՝ բովանդակության հավասարության ստուգում։