История изменений
Исправление Virtuos86, (текущая версия) :
Да, я невнимательно процитал любителя МС.
нет никакого множественного присваивания, это тупой сахар. Все так и происходит, по всей видимости, сначала возвращается массив, а потом интерпретатор под ковром раскидывает его значения по переменным.(тут вспоминаем мантру «явное лучше неявного»)
Я тебя удивлю, но в Питоне и простое присваивание это сахар для:
>>> locals().__setitem__("filequest", None)
>>> filequest
>>> `filequest`
'None'
>>>
«явное лучше неявного»
При множественном присваивании слева объявляется кортеж из переменных (тип tuple), справа ему присваивается кортеж объектов или примитивных типов. Соответственно кортежи слева и справа синхронно распаковываются и в переменные отправляются ссылки на значения. Тот же механизм по сути используется при вызове функций при использовании оператора «*» для распаковки массивов или кортежей:
>>> def foo(a, b, c): print a, b, c
...
>>> foo(*[1, 2, 3]) # точно такое множественное присваивание аргументам функции путем распаковки массива
1 2 3
>>>
Исправление Virtuos86, :
Да, я невнимательно процитал любителя МС.
нет никакого множественного присваивания, это тупой сахар. Все так и происходит, по всей видимости, сначала возвращается массив, а потом интерпретатор под ковром раскидывает его значения по переменным.(тут вспоминаем мантру «явное лучше неявного»)
Я тебя удивлю, но в Питоне и простое присваивание это сахар для:
>>> locals().__setitem__("filequest", None)
>>> filequest
>>> `filequest`
'None'
>>>
«явное лучше неявного»
При множественном присваивании слева объявляется кортеж из переменных (тип tuple), справа ему присваивается кортеж объектов или примитивных типов. Соответственно кортежи слева и справа синхронно распаковываются и в переменные отправляются ссылки на значения. Тот же механизм по сути используется при использовании оператора «*» при вызове функций для распаковки массивов или кортежей:
>>> def foo(a, b, c): print a, b, c
...
>>> foo(*[1, 2, 3]) # точно такое множественное присваивание аргументам функции путем распаковки массива
1 2 3
>>>
Исходная версия Virtuos86, :
Да, я невнимательно процитал любителя МС.
нет никакого множественного присваивания, это тупой сахар. Все так и происходит, по всей видимости, сначала возвращается массив, а потом интерпретатор под ковром раскидывает его значения по переменным.(тут вспоминаем мантру «явное лучше неявного»)
Я тебя удивлю, но в Питоне и простое присваивание это сахар для:
>>> locals().__setitem__("filequest", None)
>>> filequest
>>> `filequest`
'None'
>>>
«явное лучше неявного»
При множественном присваивании слева объявляется кортеж из переменных (тип tuple), справа ему присваивается кортеж объектов или примитивных типов. Соответственно кортежи слева и справа синхронно распаковываются и в переменные отправляются ссылки на значения. Тот же механизм по сути используется при использовании оператора «*» при вызове функций для распаковки массивов или кортежей:
>>> locals().__setitem__("filequest", None)
>>> def foo(a, b, c): print a, b, c
...
>>> foo(*[1, 2, 3]) # точно такое множественное присваивание аргументам функции путем распаковки массива
1 2 3
>>>