MartinRinehart wrote:

> From the manual:
> 
> "code objects are immutable and contain no references (directly or
> indirectly) to mutable objects" (3.2)
> 
> I thought my code worked with both mutable and immutable objects.
> Whassup?

A code object is an internal data structure that describes a piece of
compiled python code. You can create one using compile():

>>> code = compile("a = 42", "<nofile>", "exec")

It is immutable:

>>> code.a = 42
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'code' object has only read-only attributes (assign to .a)

And you can use it like so:

>>> a = "whatever"
>>> exec code
>>> a
42

If you have some spare time you can explore its attributes using
dir(code); otherwise: don't bother.

Peter
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to