Найти - Пользователи
Полная версия: Переменная - это ведь ссылка?
Начало » Python для новичков » Переменная - это ведь ссылка?
1 2 3
Mixeyka
Ещё один вопрос по переменным:

>>> sp1=0
>>> sp2=0
>>> список = (sp1, sp2)
>>> sp1 += 4
>>> список[0]
0
>>> sp1
4

То есть с одной стороны интерпретатор воспринимает значения в кортеже как переменные, с другой стороны, работая с переменной из последовательности, мы фактически порождаем новую, с таким же названием.
Со списками, аналогично.
Вопрос: почему?
doza_and
FishHook
много видели примеров программ на кириллице?
Почти все древние системы программирования в СССР имели варианты операторов в кириллическом исполнении.

Лучше не поминать всуе. А то еще вернутся операторы ПИШИП, ЗАП … Может путаю я это уже не застал.
Mixeyka
doza_and

>>> b+=[4,5,6]

Это если использовать именно этот оператор.
Если же:

>>> b = b + [4,5,6]

То получим новый список.
doza_and
Mixeyka
То получим новый список.
Абсолютно согласен. Это логично, просите создать сумму и обозначить ее b :)
doza_and
Mixeyka
с другой стороны, работая с переменной из последовательности
Поясните. примером кода. Так непонятно что вы имеете ввиду.
doza_and
Mixeyka
То есть с одной стороны интерпретатор воспринимает значения в кортеже как переменные

Это не так. Кортеж неизменяем.

>>> a=2
>>> b=3
>>> cc=(a,b)
>>> cc
(2, 3)
>>> b+=3
>>> cc
(2, 3)
>>> b
6
doza_and
Если хотите кидайте в личку скайп или аналогичные свои координаты. Так будет лучше чем форум загромождать.
Mixeyka
doza_and
Да, кортеж неизменяем, но со списком тоже самое.

>>> a=2
>>> b=3
>>> cc=[a,b]
>>> cc
[2, 3]
>>> b+=3
>>> cc
[2, 3]
>>> b
6
doza_and
>>> a=[2]
>>> b=[3]
>>> c=[a,b]
>>> a+=[2]
>>> c
[[2, 2], [3]]
Для того чтобы работало как указатель то что внутри должно быть изменяемым
py.user.next
doza_and
Неплохо указать в начала файла его кодировку а то потом чудеса начнутся.
В третьем питоне - utf-8

doza_and
Для меню наверное лучше использовать Tk или Qt.
Тогда программа неконсольная получится. Бывает такое, что X не загружается и остаётся только консоль. Вот тогда и узнаёшь все прелести линукс.

Mixeyka
Ещё один вопрос по переменным:
>>> список = (sp1, sp2)

Когда так делаешь, он берёт эти имена, получает через них доступ к объектам и уже эти объекты добавляет в кортеж. То есть имена нужны только для того, чтобы получить доступ к объектам.

>>> i = 1
>>> 
>>> import sys
>>> 
>>> i
1
>>> 
>>> i = sys
>>> 
>>> i.version
'3.3.2 (default, Feb 11 2014, 10:35:02) \n[GCC 4.8.2 20131212 (Red Hat 4.8.2-7)]'
>>>
>>> i = (i, i)
>>> i
(<module 'sys' (built-in)>, <module 'sys' (built-in)>)
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB