Поширеною проблемою є плутанина з операторами порівняння
"is"
та "=="
. Оператор "=="
порівнює значення, тоді як "is"
перевіряє посилання на один і той же об’єкт у пам’яті. У коді наведено приклади для наочності.
a = [1, 2, 3, 4, 5]
b = а #b посилається на а
а = b #вірно
a is b #вірно
b = a[:] #b посилається на копію а
а = b #вірно
a is b #невірно
Є ще нюанс з рядками і цілими числами. Короткі рядки і маленькі цілі числа повертатимуть True
в порівнянні з "is"
, позаяк Python намагається використовувати менше пам’яті для однакових об’єктів. Але довші рядки і великі цілі числа зберігатимуться окремо.
#Python // #practice // Вакансії IT