cython
1# mode: run
2# tag: exec
3
4exec "GLOBAL = 1234"
5
6def exec_module_scope():
7"""
8>>> globals()['GLOBAL']
91234
10"""
11
12def exec_func_scope():
13"""
14>>> sorted(exec_func_scope().items())
15[('G', 1234), ('a', 'b')]
16"""
17d = {}
18exec "d['a'] = 'b'; d['G'] = GLOBAL"
19return d
20
21def exec_pyclass_scope():
22"""
23>>> obj = exec_pyclass_scope()
24>>> obj.a
25'b'
26>>> obj.G
271234
28"""
29class TestExec:
30exec "a = 'b'; G = GLOBAL"
31return TestExec
32