目录
1. 获取变量名
from u_工具 import to_变量名
a = 1
print(to_变量名(a))
2. 修改local变量
2.0. 预期效果
将变量a的值改成5
def main():
a = 2
def func():
nonlocal a
a = 5
func()
print(a)
main()
2.1. 利用 PyFrame_LocalsToFast 函数
缺点:这函数快被官方弃了
import sys
from u_工具 import to_变量名
from u_工具 import change_locals
def main():
a = 2
修改表 = {to_变量名(a): 5}
change_locals(sys._getframe(), 修改表)
print(a)
main()