##### exec()
- `exec(object, globals=None, locals=None, /, *, closure=None)`
- 动态执行 Python 代码,返回值为 `None`
- `object` 要执行的代码字符串,可以是一个代码块、一个单独的语句或者一系列语句。
- `globals` 可选参数,用于指定[[py.作用域和命名空间|全局命名空间]](全局变量和函数)。如果没有提供,则默认为当前全局命名空间
- `locals` 可选参数,用于指定[[py.作用域和命名空间|局部命名空间]](局部变量和函数)。如果没有提供,则默认为当前局部命名空间
```python
# 执行代码块
source_code = """
def greet(name):
print(f'Hello, {name}!')
greet('Alice')
"""
exec(source_code)
# 改变本地字典
globals_dict = {"x": 10}
locals_dict = {}
code = 'a, b = x, 2'
exec(code, globals_dict, locals_dict)
print(locals_dict) # 输出:{'a': 10, 'b': 2}
```