Python supports parallel assignment like
>>> lang, version = "python", 2.7
>>> print lang, version
python 2.7
values are assigned to each variable without any issues.
>>> x, y, z = 1, 2, x + y
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined
First python tries to evaluate x + y
expression. Since x, y
is defined in same line, python is unable to access the variable x
and y
, so NameError
is raised.
>>> x, y = 1, 2
>>> z, a = x + y, 65
>>> print x, a
1 65
In above code x, y
is referenced before so x + y
is evaluated and the value is assigned to z
.
So don’t assign the values in same line and use it in expression
See also
- Python Typing Koans
- Model Field - Django ORM Working - Part 2
- Structure - Django ORM Working - Part 1
- jut - render jupyter notebook in the terminal
- Five reasons to use Py.test
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.