《余録》組み込み関数 exec/eval:Python3.x では、組み込み関数 exec/eval の第1引数に、このコードオブジェクトを指定できます。

>>> s = "3+4"
>>> c = compile(s,"","eval")
>>> exec(c)
>>> eval(c)
7
>>> s = "print(5-2)"
>>> c = compile(s,"","eval")
>>> exec(c)
3
>>> eval(c)
3
>>> s = "n = 3-4;n"
>>> c = compile(s,"","single")
>>> exec(c)
-1
>>> eval(c)
-1
>>> s = "for e in 'ABC': print(e)"
>>> c = compile(s,"","exec")
>>> exec(c)
A
B
C
>>> eval(c)
A
B
C
>>> n = 0; n
0
>>> s = """
n = 0
for e in range(10):
    n += e
n"""
>>> s
'\nn = 0\nfor e in range(10):\n    n += e\nn'
>>> c = compile(s,"","exec")
>>> exec(c)
>>> eval(c)
>>> n
45
>>>