В Python важно понимать, что все является объектом . Из них у вас есть два типа:
- неизменяемый (int, float, char, str, tuple)
- изменяемый (список, dict, другие объекты, ...)
Неизменный объекты не могут быть изменены . То есть вы не можете переопределить неизменное:
1 = 0
Это смешно! Однако вы можете привязать неизменяемые имена. Мы называем такие имена «переменными».
x = 1
y = x
x = 0
# x = 0
# y = 1
Изменяемые объекты, однако, могут изменить свое внутреннее содержимое:
x = [0, 2]
y = x
x[0] = 1
# x = [1, 2]
# y = [1, 2]
Обратите внимание, что y
- это просто имя в списке. Когда вы изменяете список x
с помощью x[0] = 1
, вы изменяете тот же список, к которому привязан y
.
Почему я говорю вам все это? Потому что:
data.clear()
изменяет исходный список, с которым data
связан.
В отличие от
data = ()
просто связывает data
с другим объектом.