Dynamic assignment

Joonas Paalasmaa joonas at olen.to
Fri Oct 26 07:11:21 EDT 2001


Ingo Blank wrote:
> 
> Hi,
> 
> I want to dynamically create variables and assign values to them.
> 
> I tried the following:
> 
> >>> vn = "dynVar"
> >>> vv = 1
> >>> eval("%s=%d" % (vn,vv))
> Traceback (most recent call last):
>   File "<interactive input>", line 1, in ?
>   File "<string>", line 1
>     dynVar=1
>           ^
> SyntaxError: invalid syntax
> 
> Q1: Why is the "syntax error" issued ?

Assignment isn't an expression.

> Q2: *HOW* do I achieve a dynamic assignment ?

Use the vars() function to get and set variables.

>>> vars()["dynVar"] = 1
>>> dynVar
1
>>> 

--
Joonas Paalasmaa



More information about the Python-list mailing list