Форум сайта python.su
0
Зачем вообще нужны константы?
Я знаю, что они неизменяемы, но в чем их практическая суть?В каких случаях их нужно использовать?
P.S: только начинаю изучать python, поэтому и задаю такие глупые вопросы) в гугле ответа не нашел.
Офлайн
221
droft1312
в питоне нет констант по аналогии с С/С++ и т.п. Есть переменные. Поэтому о чем вопрос не понятно.
Офлайн
103
JOHN_16
а кортеж?
Офлайн
34
terabayt
Константа (из вики) - способ адресации данных, изменение которых рассматриваемой программой не предполагается или запрещается.
А данные внутри кортежа могут меняться.
Офлайн
14
GreyZmeemИ как же это по вашему данные могут измениться в кортеже?
А данные внутри кортежа могут меняться.
a = (1, 2) b = a print(a is b) b = b + (3, 4) print(a is b)
Отредактировано alex925 (Янв. 20, 2015 12:23:53)
Офлайн
34
alex925
>>> my_tuple = ([1, 2], [3, 4]) >>> my_tuple ([1, 2], [3, 4]) >>> my_tuple[0][0] = -1 >>> my_tuple ([-1, 2], [3, 4]) >>> del my_tuple[0][0] >>> del my_tuple[0][0] >>> my_tuple ([], [3, 4])
Отредактировано GreyZmeem (Янв. 20, 2015 12:25:22)
Офлайн
14
Ты не кортеж меняешь, ты меняешь список внутри кортежа.
Офлайн
34
alex925Согласен. Остались ли в кортеже те же самые данные?
Ты не кортеж меняешь, ты меняешь список внутри кортежа.
Офлайн
103
GreyZmeemда, в кортеже по-прожнему записаны адреса на объекты списков
Остались ли в кортеже те же самые данные?
>>> a = [1,2] >>> b = [3,4] >>> b.__contains__ <method-wrapper '__contains__' of list object at 0x7f3d08d69388> >>> a.__contains__ <method-wrapper '__contains__' of list object at 0x7f3d04af5b88> >>> c = (a, b) >>> for i in c: ... print(i.__contains__) ... <method-wrapper '__contains__' of list object at 0x7f3d04af5b88> <method-wrapper '__contains__' of list object at 0x7f3d08d69388> >>> a[1] = 4 >>> del(a[0]) >>> a [4] >>> for i in c: ... print(i.__contains__) ... <method-wrapper '__contains__' of list object at 0x7f3d04af5b88> <method-wrapper '__contains__' of list object at 0x7f3d08d69388>
Отредактировано terabayt (Янв. 20, 2015 12:52:12)
Офлайн
14
Да остались теже самые данные, если быть точным осталась лежать ссылка на объект списка.
Офлайн