在python中往往会遇到要用到的数据是从json或scv等储存文件中获取的情况。
有时我们存的数据是UI的控件名,这时我们很难直接写出获取字符串代表的控件的数据的代码。
于是python中一个特殊的函数诞生了。eval
eval原本是把数据转化成字符串的,但还可以直接把字符串当代码去执行。
如
便会打印20.
但eval有局限性。
eval不可以创建变量如
这样会报错。
于是exec诞生了
exec是更加高级的eval。用法和exec一样,但功能更强大,就比如可以创建变量。
推荐以后都使用exec
注意在类里面使用exec时
exec新定义的都要是self.变量
类外,即随便一个执行文件中使用exec时
在exec中新定义的变量可以是随便的变量